博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql实现nextVal功能
阅读量:5987 次
发布时间:2019-06-20

本文共 995 字,大约阅读时间需要 3 分钟。

hot3.png

先建一表

DROP TABLE IF EXISTS `sys_sequence`;CREATE TABLE `sys_sequence` (  `key` varchar(40) NOT NULL DEFAULT '',  `value` int(11) NOT NULL DEFAULT '0',  PRIMARY KEY (`key`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO sys_sequence(`key`,`value`) VALUES('increment', 1);

然后建立函数 currval/1

set global log_bin_trust_function_creators = 1;DELIMITER $$DROP FUNCTION IF EXISTS `currval`$$CREATE DEFINER=`root`@`%` FUNCTION `currval`(seq_name VARCHAR(40)) RETURNS INT(11)BEGINDECLARE ret_value INTEGER;SET ret_value=0;SELECT `value` INTO ret_valueFROM sys_sequenceWHERE `key`=seq_name;RETURN ret_value;END$$DELIMITER ;

执行函数

select currval('increment');

创建函数nextval/2

DELIMITER $$DROP FUNCTION IF EXISTS `nextval`$$CREATE DEFINER=`root`@`%` FUNCTION `nextval`(seq_name varchar(40), incr int(11)) RETURNS int(11)BEGINUPDATE `sys_sequence`SET `value` = `value` + incrwhere `key`=seq_name;return currval(seq_name);END$$

执行函数

select nextval('increment', 2);

转载于:https://my.oschina.net/leeyisoft/blog/1814059

你可能感兴趣的文章
写的比较规范的网站
查看>>
使用eclipse生成文档(javadoc)主要有三种方法:
查看>>
ajax提交json数据,后台解析问题
查看>>
【转】iOS开发里的Bundle是个啥玩意?!
查看>>
2016第43周四
查看>>
Qt Creator快捷键
查看>>
解读Raft(四 成员变更)
查看>>
mysql case when 判断null
查看>>
Convert enumeraltor to Dictionary object
查看>>
ios中封装网络和tableview的综合运用
查看>>
JS面向对象的程序设计之继承的实现 - 原型链
查看>>
浅析微信扫码登录原理
查看>>
APICLOUD 1.3.0 HelloWorld
查看>>
Go基础学习记录 - 编写Web应用程序 - 博客编辑功能之Model的重新思考
查看>>
Web前端经典面试试题(一)
查看>>
[基础] [GIF动图] 绕过中文输入法发送文本的3种方法
查看>>
阿里云梁楹:这样的青春,别样的精彩
查看>>
从啥也不会到可以胜任最基本的JavaWeb工作,值得你看
查看>>
深入探究immutable.js的实现机制(一)
查看>>
实验室后台管理项目总结
查看>>