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
- mysql 如何设置自动增长序列 sequence(一)
- mysql 如何设置自动增长序列 sequence(一)
- mysql 如何设置自动增长序列 sequence(一)
- mysql 如何设置自动增长序列 sequence(一)
- mysql 如何设置自动增长序列 sequence(一)
- MySQL如何设置自动增长序列 SEQUENCE
- mysql 如何设置自动增长序列 sequence(二) 在实际中调用
- mysql 如何设置自动增长序列 sequence(二) 在实际中调用
- mysql 如何设置自动增长序列 sequence(二) 在实际中调用
- oracle如何设置序列自动增长
- MySQL如何设置自动增长列
- 设置mysql自动增长
- Oracle自动增长序列介绍——sequence
- mysql自动增长字段的设置
- mysql,sqlserver,oracle主键自动增长设置
- mysql 自动增长起始值设置
- 设置mysql中自动增长的初始值
- 笔记2-MySQL设置自动增长
- Intel Edison 换完Debian 后开机自动设置 Wifi
- SQl语句中使用占位符的优点
- web测试总结3
- html
- iOS-UITableView头视图动态布局
- mysql 如何设置自动增长序列 sequence(一)
- sql动态传入数组值
- 必须使用角色管理工具 安装或配置microsoft.net framework 3.5 sp1
- OpenCV Stitching_detailed 详解
- 两个空间对象
- AK3918e的ISP如何设置成测试模式
- Android MonkeyRunner Test.
- Objective_C中block的使用
- Android实现给TableLayou绘制边框的方法