mysql实现自增序列的方法

  介绍

这篇文章主要为大家展示了“mysql实现自增序列的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql实现自增序列的方法”这篇文章吧。

1。创建序列表

CREATE  TABLE “序列”,(   “名字”,才能varchar (50), COLLATE  utf8_bin  NOT  NULL  COMMENT  & # 39;序列的名字& # 39;,   “current_value”才能,int (11), NOT  NULL  COMMENT  & # 39;序列的当前值& # 39;,   “增量”,才能int (11), NOT  NULL  DEFAULT  & # 39; 1 & # 39;, COMMENT  & # 39;序列的自增值& # 39;,   PRIMARY 才能;KEY (名字)   ),引擎=InnoDB  DEFAULT  CHARSET=utf8 整理=utf8_bin;

2。创建——取当前值的函数

DROP  FUNCTION  IF  EXISTS  currval;,   DELIMITER  $,   CREATE  FUNCTION  currval  (seq_name  VARCHAR (50)),   ,,,,RETURNS 整数   ,,,,LANGUAGE  SQL    ,,,,DETERMINISTIC    ,,,,CONTAINS  SQL    ,,,,SQL  SECURITY  DEFINER    ,,,,COMMENT  & # 39; & # 39;   开始   ,,,,DECLARE  value 整数,,   ,,,,SET  value =, 0;,   ,,,,SELECT  current_value  INTO  value    ,,,,,,,,,得到序列   ,,,,,,,,,WHERE  name =, seq_name;,   ,,,,RETURN 价值;,   结束   美元,   DELIMITER ;

3。创建,取下一个值的函数

DROP  FUNCTION  IF  EXISTS  nextval;,   DELIMITER  $,   CREATE  FUNCTION  nextval  (seq_name  VARCHAR (50)),   ,,,,RETURNS  INTEGER    ,,,,LANGUAGE  SQL    ,,,,DETERMINISTIC    ,,,,CONTAINS  SQL    ,,,,SQL  SECURITY  DEFINER    ,,,,COMMENT  & # 39; & # 39;,   BEGIN    ,,,,UPDATE  sequence    ,,,,,,,,,SET  current_value =, current_value  +, increment    ,,,,,,,,,WHERE  name =, seq_name;,   ,,,,RETURN  currval (seq_name);,   最终获得;   美元,   DELIMITER ;

4。创建——更新当前值的函数

DROP  FUNCTION  IF  EXISTS  setval;,   DELIMITER  $,   CREATE  FUNCTION  setval  (seq_name  VARCHAR (50), value 整数),   ,,,,RETURNS  INTEGER    ,,,,LANGUAGE  SQL    ,,,,DETERMINISTIC    ,,,,CONTAINS  SQL    ,,,,SQL  SECURITY  DEFINER    ,,,,COMMENT  & # 39; & # 39;,   BEGIN    ,,,,UPDATE  sequence    ,,,,,,,,,SET  current_value =, value    ,,,,,,,,,WHERE  name =, seq_name;,   ,,,,RETURN  currval (seq_name);,   最终获得;   美元,   DELIMITER ;

5。测试添加实例执行sql

INSERT  INTO  sequence  VALUES  (& # 39; testSeq& # 39;,, 0, 1),——,添加一个序列名称和初始值,以及自增幅度      SELECT  SETVAL (& # 39; testSeq& # 39;,, 10);,,设置指定序的初始值      SELECT  CURRVAL (& # 39; testSeq& # 39;);,,查询指定序的当前值      SELECT  NEXTVAL (& # 39; testSeq& # 39;);,,查询指定序列的下一个值

以上是“mysql实现自增序列的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

mysql实现自增序列的方法