给 MySQL 增加 Sequence 管理功能
-- Sequence 管理表 DROP TABLE IF EXISTS sequence; CREATE TABLE sequence ( name VARCHAR(50) NOT NULL, current_value INT NOT NULL, increment INT NOT NULL DEFAULT 1, PRIMARY KEY (name) ) ENGINE=InnoDB; -- 取当前值的函数 DROP FUNCTION IF EXISTS currval; DELIMITER $ CREATE FUNCTION currval (seq_name VARCHAR(50)) RETURNS INTEGER LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN DECLARE value INTEGER; SET value = 0; SELECT current_value INTO value FROM sequence WHERE name = seq_name; RETURN value; END $ DELIMITER ; -- 取下一个值的函数 DROP FUNCTION IF EXISTS nextval; DELIMITER $ CREATE FUNCTION nextval (seq_name VARCHAR(50)) RETURNS INTEGER LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN UPDATE sequence SET current_value = current_value + increment WHERE name = seq_name; RETURN currval(seq_name); END $ DELIMITER ; -- 更新当前值的函数 DROP FUNCTION IF EXISTS setval; DELIMITER $ CREATE FUNCTION setval (seq_name VARCHAR(50), value INTEGER) RETURNS INTEGER LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN UPDATE sequence SET current_value = value WHERE name = seq_name; RETURN currval(seq_name); END $ DELIMITER ; /* -- 测试 INSERT INTO sequence VALUES ('TestSeq', 0, 1); SELECT SETVAL('TestSeq', 10); SELECT CURRVAL('TestSeq'); SELECT NEXTVAL('TestSeq'); */
转载于:https://www.cnblogs.com/shihao/archive/2012/02/14/2351045.html
给 MySQL 增加 Sequence 管理功能相关推荐
- mysql sequence java_MySQL增加Sequence管理功能
项目应用中,曾有以下一个场景: 接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况(当然概率很小). 所以想到了利用一个独立的自增的sequence来解决该问题. ...
- mysql 多键sequence_MySQL增多Sequence管理功能
项目应用中,曾有以下一个场景: 接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况(当然概率很小). 所以想到了利用一个独立的自增的sequence来解决该问题. ...
- mysql 角色(role)管理功能实现、创建role,role权限赋值、激活(基于mysql8.0)
以下操作都是基于mysql8.0的来实现的,电脑安装不上mysql 8.0的,请自行安装升级 创建角色(role) 将role的权限赋值给一个用户 查看用户被授权情况并激活权限!!重点,不然赋权之后用 ...
- mysql增加自定义函数功能
mysql默认是不能自定义函数的 当create function时 This function has none of DETERMINISTIC, NO SQL, or READS SQL DAT ...
- 自主开发悟空crm增加 公文管理功能 二次开发代码披露
1.招聘需求 2.审核刚刚创建的招聘需求内容 3.编辑内容 4.简历管理 5.面试记录时间轴 6.offer管理 <?php namespace app\hrm\model; use app\a ...
- 悟空crm二次开发增加 公文管理功能
- 给discuz x增加后台菜单管理功能
我们二次开发时,有时避免不了要为自己的程序增加后台管理功能,首先就要是要添加扩展目录和文件: 新建立目录/source/admincp/menu/ 扩展菜单目录,(左侧菜单显示的文件,文件名称的格式 ...
- 多御安全浏览安卓版升级尝鲜,新增下载管理功能
多御安全浏览器安卓版是由普一科技开发的免费安全浏览器.2022年8月5日,多御安全浏览器安卓版又迎来了一次新版本升级,目前最新版本是android版 1.7.4,新增了下载管理功能.手机浏览器千千万, ...
- 花呗、借呗上线额度管理功能,网友:上次我没得选,这次我想做个年轻人
Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨花生酱 来源丨TechWeb 前不久,花呗为了 ...
最新文章
- 【转】VMware虚拟机中CentOS设置固定IP
- 剑指offer 27: 二叉搜索树与双向链表
- Netty学习四:Channel
- 16*64点阵屏的c语言程序,16*64点阵程序 - 单片机/MCU论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!...
- 9.23 最后45天
- 在线等:“手里 5 个 offer,优选头条还是阿里?”
- Android JSON: JSONArray cannot be converted to JSONObject
- 熟悉 CMake(一)
- HTML 标签学习总结第一天
- 《人月神话》-第19章-20年后的《人月神话》
- 七种常见的数据分析法之:帕累托法则
- SAP查询销售订单库存
- oracle错误信息提示中英文显示切换
- Linux音乐相册代码,小年糕音乐相册制作下载-小年糕视频编辑appv1.5.8-Linux公社
- Android记账本APP开发进阶版
- 利用python处理pdf文本_Python用于NLP :处理文本和PDF文件
- Linux 普通用户和root用户任意切换
- java.beans.transient_JavaBeans程序开发
- 电力电子技术简答题及其答案
- 中标麒麟编译qgis源码+PyQt环境
热门文章
- mysql mybatis 工具类_我肝了一个星期,为你们整理出了mybatis程序配置教程
- web服务面试python_Python面试重点(web篇)
- 检验int值在list中是否存在_R语言统计与绘图:卡方检验
- php数组遍历相同的元素覆盖_php获取数组中重复数据的两种方法
- 几张一模一样的照片_两张一模一样的照片看起来却不一样!什么鬼?
- 计算机控制系统第1次作业,计算机控制系统第1次作业86分.doc
- java类和对象程序_Java类与对象程序设计基础
- word2016能识别linux换行符,word文章中的换行符如何批量替换为回车符
- php sslv3握手失败,Boost Beast握手:sslv3警报握手失败错误
- iphone黑屏转圈_iphone8一直在黑屏转圈