zoukankan      html  css  js  c++  java
  • mysql 序列号生成器(转)

    如果你不想使用mysql的自动递增,但又想实现主键序列号的功能,可以使用下面的方法,通过函数用一张表去维护生成多个表的序列号,简单又实用

    1.创建生成多个表的序列号的数据维护表

    CREATE TABLE seq (
      name varchar(20) NOT NULL,
      val int(10) UNSIGNED NOT NULL,
      PRIMARY KEY  (name)
    ) ENGINE=MyISAM DEFAULT CHARSET=UTF-8

    2.插入几条初始化数据

    INSERT INTO seq VALUES('one',100);
    INSERT INTO seq VALUES('two',1000);

    3.创建函数以生成序列号

    CREATE FUNCTION seq(seq_name char (20)) returns int
    begin
     UPDATE seq SET val=last_insert_id(val+1) WHERE name=seq_name;
     RETURN last_insert_id();
    end

    4.测试

    1. mysql> SELECT seq('one'),seq('two'),seq('one'),seq('one');
    2. +------------+------------+------------+------------+
    3. | seq('one') | seq('two') | seq('one') | seq('one') |
    4. +------------+------------+------------+------------+
    5. |        102 |       1002 |        103 |        104 |
    6. +------------+------------+------------+------------+
    7. 1 row IN SET (0.00 sec)
  • 相关阅读:
    saltstack安装和配置
    puppet安装和配置
    mongodb使用
    mongdb安装
    redis数据类型
    redis安装
    memcached结合php以及memcache共享session
    yum安装的Apache的各种配置文件的位置
    memcached 基本操作
    memcached基本操作和语法
  • 原文地址:https://www.cnblogs.com/buffer/p/2052312.html
Copyright © 2011-2022 走看看