mysql 如何设置自动增长序列 sequence(一)

来源:互联网 发布:有关于网络的卡通形象 编辑:程序博客网 时间:2024/05/07 03:29

背景:由于项目需要,必须用mysql设置主键自增长,而且想用字符串的。经过上网查找并且实验,终于做出了一套方案。现在就共享给大家!

解决思路:由于mysql不带sequence,所以要手写的,创建一张储存sequence的表(tb_sequence),然后手动插入一条数据 ,最后自定义一个函数来处理要增长的值。

一起做吧:
1、创建表tb_sequence,用来存放sequence值:

create table tb_sequence(name varchar(50) not null,current_value int not null,_increment int not null default 1, primary key(name));   

2、手动插入数据:

insert into tb_sequence values('userid',100,2);  

3、定义函数 _nextval:

DELIMITER //  create function _nextval(n varchar(50)) returns integer   begin  declare _cur int;  set _cur=(select current_value from tb_sequence where name= n);  update tb_sequence   set current_value = _cur + _increment   where name=n ;  return _cur;  end;  //  

说明:delimiter // —->定义语句结束符。其他的代码 自己看吧。
4、恢复默认的语句结束符:(可以省略但是结束符必须用// ,为了方便还是设置回来。)

DELIMITER ;  

5、检验结果
多次执行以下语句:

select _nextval('userid');  

结果显示:

mysql> select _nextval('userid');  +--------------------+  | _nextval('userid') |  +--------------------+  |                102 |  +--------------------+  1 row in set (0.00 sec)  mysql> select _nextval('userid');  +--------------------+  | _nextval('userid') |  +--------------------+  |                104 |  +--------------------+  1 row in set (0.00 sec)  mysql> select _nextval('userid');  +--------------------+  | _nextval('userid') |  +--------------------+  |                106 |  +--------------------+  1 row in set (0.00 sec)  

6、实验结束。

原文链接:http://blog.csdn.net/codinghome/article/details/7598032

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为手机突然无服务怎么办 sim卡显示无服务怎么办 华为麦芒进水无限开关机怎么办 华为麦芒5进水黑屏怎么办 华为麦芒6进水了怎么办 4g手机开不开机怎么办 全屏钢化膜总是翘边怎么办 华为麦芒屏幕触屏失灵怎么办 华为麦芒5运行慢怎么办 手机屏保密码忘记了怎么办 麦芒5密码锁忘了怎么办 超薄手机壳松了怎么办 华为麦芒5声音小怎么办 笔记本外壳a面裂了怎么办 苹果手机外壳摔坏了怎么办 挂衣服肩膀出包怎么办 摩拜单车手机号注销了怎么办 摩拜单车手机号码换了怎么办 摩拜单车换手机号码打不开怎么办 摩拜单车丢了怎么办 摩拜单车忘锁了怎么办 透明手机壳粘指纹怎么办 tpu手机壳变黄了怎么办 0pp0手机声音小怎么办 橡胶皮套晒坏了怎么办 宝宝晚上吹空调发烧怎么办 玩手机手指尖疼怎么办 手机型号不支持微信运动怎么办 手腕向下压会疼怎么办 手腕韧带拉伤怎么办恢复快 华为手机用车载充电慢怎么办 华为麦芒6充电慢怎么办 oppo手机压弯了怎么办 麦芒5电池不耐用怎么办 华为7x照相模糊怎么办 华为麦芒6照相虚怎么办 荣耀8gps信号弱怎么办 华为麦芒4手机卡顿怎么办 华为麦芒4玩游戏卡怎么办 sim卡换卡通讯录丢了怎么办 换sim卡通讯录怎么办