-- 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 管理功能相关推荐

  1. mysql sequence java_MySQL增加Sequence管理功能

    项目应用中,曾有以下一个场景: 接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况(当然概率很小). 所以想到了利用一个独立的自增的sequence来解决该问题. ...

  2. mysql 多键sequence_MySQL增多Sequence管理功能

    项目应用中,曾有以下一个场景: 接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况(当然概率很小). 所以想到了利用一个独立的自增的sequence来解决该问题. ...

  3. mysql 角色(role)管理功能实现、创建role,role权限赋值、激活(基于mysql8.0)

    以下操作都是基于mysql8.0的来实现的,电脑安装不上mysql 8.0的,请自行安装升级 创建角色(role) 将role的权限赋值给一个用户 查看用户被授权情况并激活权限!!重点,不然赋权之后用 ...

  4. mysql增加自定义函数功能

    mysql默认是不能自定义函数的 当create function时 This function has none of DETERMINISTIC, NO SQL, or READS SQL DAT ...

  5. 自主开发悟空crm增加 公文管理功能 二次开发代码披露

    1.招聘需求 2.审核刚刚创建的招聘需求内容 3.编辑内容 4.简历管理 5.面试记录时间轴 6.offer管理 <?php namespace app\hrm\model; use app\a ...

  6. 悟空crm二次开发增加 公文管理功能

  7. 给discuz x增加后台菜单管理功能

    我们二次开发时,有时避免不了要为自己的程序增加后台管理功能,首先就要是要添加扩展目录和文件: 新建立目录/source/admincp/menu/  扩展菜单目录,(左侧菜单显示的文件,文件名称的格式 ...

  8. 多御安全浏览安卓版升级尝鲜,新增下载管理功能

    多御安全浏览器安卓版是由普一科技开发的免费安全浏览器.2022年8月5日,多御安全浏览器安卓版又迎来了一次新版本升级,目前最新版本是android版 1.7.4,新增了下载管理功能.手机浏览器千千万, ...

  9. 花呗、借呗上线额度管理功能,网友:上次我没得选,这次我想做个年轻人

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨花生酱 来源丨TechWeb 前不久,花呗为了 ...

最新文章

  1. 【转】VMware虚拟机中CentOS设置固定IP
  2. 剑指offer 27: 二叉搜索树与双向链表
  3. Netty学习四:Channel
  4. 16*64点阵屏的c语言程序,16*64点阵程序 - 单片机/MCU论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!...
  5. 9.23 最后45天
  6. 在线等:“手里 5 个 offer,优选头条还是阿里?”
  7. Android JSON: JSONArray cannot be converted to JSONObject
  8. 熟悉 CMake(一)
  9. HTML 标签学习总结第一天
  10. 《人月神话》-第19章-20年后的《人月神话》
  11. 七种常见的数据分析法之:帕累托法则
  12. SAP查询销售订单库存
  13. oracle错误信息提示中英文显示切换
  14. Linux音乐相册代码,小年糕音乐相册制作下载-小年糕视频编辑appv1.5.8-Linux公社
  15. Android记账本APP开发进阶版
  16. 利用python处理pdf文本_Python用于NLP :处理文本和PDF文件
  17. Linux 普通用户和root用户任意切换
  18. java.beans.transient_JavaBeans程序开发
  19. 电力电子技术简答题及其答案
  20. 中标麒麟编译qgis源码+PyQt环境

热门文章

  1. mysql mybatis 工具类_我肝了一个星期,为你们整理出了mybatis程序配置教程
  2. web服务面试python_Python面试重点(web篇)
  3. 检验int值在list中是否存在_R语言统计与绘图:卡方检验
  4. php数组遍历相同的元素覆盖_php获取数组中重复数据的两种方法
  5. 几张一模一样的照片_两张一模一样的照片看起来却不一样!什么鬼?
  6. 计算机控制系统第1次作业,计算机控制系统第1次作业86分.doc
  7. java类和对象程序_Java类与对象程序设计基础
  8. word2016能识别linux换行符,word文章中的换行符如何批量替换为回车符
  9. php sslv3握手失败,Boost Beast握手:sslv3警报握手失败错误
  10. iphone黑屏转圈_iphone8一直在黑屏转圈