介绍
这篇文章主要为大家展示了“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实现自增序列的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!