java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > MySQL 自动增长序列SEQUENCE

MySQL如何设置自动增长序列SEQUENCE的方法

作者:ReaderWriter

本文主要介绍了MySQL如何设置自动增长序列SEQUENCE的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文主要介绍了MySQL如何设置自动增长序列 SEQUENCE,具体如下:

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

1.创建表emp_seq,用来存放sequence值:

说明:

create table emp_seq (
	name varchar(50) not null primary key,
	start_value int not null,
	increment_value int not null default 1
);

2.手动插入数据:

说明:

insert into emp_seq values('empno',1,1);

3.定义函数 nextval:

说明:

DELIMITER //
create function nextval(str varchar(50)) returns integer
begin
	declare i int;
	set i=(select start_value from emp_seq where name=str);
	update emp_seq
		set start_value=i+increment_value
	where name=str;
return i;
end;
//
 

4.恢复默认的语句结束符:

说明:

DELIMITER ;

5.为了更方便的执行SQL命令,我把这些代码复制到记事本中,并把文件存到D盘根目录下,改名为emp_seq.sql

 

6.执行外部SQL脚本命令

若没有提示,说明建立成功。如何执行外部SQL脚本命令,客官可移步:MySQL执行外部sql脚本文件的命令

 

7.成功导入sql脚本后,那咱们就需要验证一下,进入mysql,并进入数据库,我这里是jsd170101


OK,连续执行sql语句获取序列,从上图清楚的看到,结果从1开始,每次自增1

8.下面说说如何应用在DML语句中

我的数据库里已有empno=6的数据,这里我让start_value增长到7,再插入一条信息:

查看下结果:

到此这篇关于MySQL如何设置自动增长序列SEQUENCE的方法的文章就介绍到这了,更多相关MySQL 自动增长序列SEQUENCE内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文