当前位置: 首页 > news >正文

Mysql数据库创建自增序列

  • 创建序列表
CREATE TABLE `sequence` (`name` varchar(50) NOT NULL,`current_value` bigint(30) NOT NULL,`increment` int(11) NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='序列表';
  • 创建函数 查询当前序列名的序列值
CREATE DEFINER=`root`@`%` FUNCTION `shop-product`.`currval`(seq_name VARCHAR(50)) RETURNS bigint(30)DETERMINISTIC
BEGINDECLARE vCurrent BIGINT(30);  SET vCurrent = 0;  SELECT current_value INTO vCurrent FROM sequence WHERE NAME = seq_name;   RETURN vCurrent; 
END
  • 创建函数 查询当前序列名下一个序列值
CREATE DEFINER=`root`@`%` FUNCTION `shop-product`.`nextval`(seq_name VARCHAR(50)) RETURNS bigint(30)DETERMINISTIC
BEGIN  
UPDATE sequence SET current_value = current_value + increment WHERE NAME = seq_name;  
RETURN currval(seq_name);  
END
  • 创建函数 更新当前序列名的序列值
CREATE DEFINER=`root`@`%` FUNCTION `shop-product`.`setval`(seq_name VARCHAR(50),value BIGINT) RETURNS bigint(30)DETERMINISTIC
BEGINUPDATE sequence  SET current_value = value WHERE name = seq_name; RETURN currval(seq_name); 
END
  • 序列表插入数据
INSERT INTO `sequence`
(name, current_value, `increment`)
VALUES('test', 1, 1);

使用方法

SELECT SETVAL(‘test’, 10); --设置指定sequence的初始值
SELECT CURRVAL(‘test’); --查询指定sequence的当前值
SELECT NEXTVAL(‘test’); --查询指定sequence的下一个值

http://www.lryc.cn/news/356979.html

相关文章:

  • macOS上用Qt creator编译并跑shotcut
  • 基于高光谱数据集的创新点实现-高斯核函数卷积神经网络
  • 【python 进阶】 绘图
  • memblock_free_all释放page到buddy,前后nr_free的情况
  • Django实现websocket
  • 先进制造aps专题九 中国aps行业分析
  • 力扣hot100:23. 合并 K 个升序链表
  • Lightweight Robust Size Aware Cache Management——论文泛读
  • 搜索自动补全-elasticsearch实现
  • 连接远程的kafka【linux】
  • 简单的 Cython 示例
  • Laravel时间处理类Carbon
  • 2024年5月软考架构题目回忆分享
  • 香橙派 AIpro开发板初上手
  • 如何使用DotNet-MetaData识别.NET恶意软件源码文件元数据
  • LeetCode---栈与队列
  • 【教程】利用API接口添加本站同款【每日新闻早早报】-每天自动更新,不占用文章数量
  • 僵尸进程,孤儿进程,守护进程
  • Nuxt3 中使用 ESLint
  • 【Jmeter】性能测试之压测脚本生成,也可以录制接口自动化测试场景
  • Go 编程技巧:零拷贝字符串与切片转换的高效秘籍
  • 音视频开发—FFmpeg 音频重采样详解
  • 统计本地端口占用情况
  • 【MySQL精通之路】SQL优化(1)-查询优化(9)-外部联接优化
  • Python应用开发——30天学习Streamlit Python包进行APP的构建(1)
  • 轻兔推荐 —— 一个好用的软件服务推荐平台
  • LeetCode hot100-57-G
  • 基于Vue uni-app的自定义列表表格信息展示组件
  • 计网(部分在session学习章)
  • TypeScript 枚举