mysql自增长语句(mysql实现自增序列的示例代码)
类别:数据库 浏览量:209
时间:2021-10-24 10:17:31 mysql自增长语句
mysql实现自增序列的示例代码1.创建sequence表
|
CREATE TABLE ` sequence ` ( ` name ` varchar (50) COLLATE utf8_bin NOT NULL COMMENT '序列的名字' , `current_value` int (11) NOT NULL COMMENT '序列的当前值' , `increment` int (11) NOT NULL DEFAULT '1' COMMENT '序列的自增值' , PRIMARY KEY (` name `) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE =utf8_bin; |
2.创建–取当前值的函数
|
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 ; |
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 '' BEGIN UPDATE sequence SET current_value = current_value + increment WHERE name = seq_name; RETURN currval(seq_name); END $ DELIMITER ; |
4.创建–更新当前值的函数
|
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 ; |
5.测试添加实例 执行sql
|
INSERT INTO sequence VALUES ( 'testSeq' , 0, 1); -- 添加一个sequence名称和初始值,以及自增幅度 SELECT SETVAL( 'testSeq' , 10); -- 设置指定sequence的初始值 SELECT CURRVAL( 'testSeq' ); -- 查询指定sequence的当前值 SELECT NEXTVAL( 'testSeq' ); -- 查询指定sequence的下一个值 |
到此这篇关于mysql实现自增序列的示例代码的文章就介绍到这了,更多相关mysql 自增序列内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://blog.csdn.net/xubenxismile/article/details/103629359
您可能感兴趣
- mysql 操作系统时区(mysql时区查看与设置方法)
- mysqlupdate语句用法(MySQL update set 和 and的区别)
- mysql剩余表空间大小(MySQL 表空间碎片的概念及相关问题解决)
- mysql的默认隔离级别(再有人问你MySQL的隔离级别是什么,就把这篇文章发给他!)
- mysqlexplain各个字段作用(MySQL EXPLAIN语句的使用示例)
- mac版本php环境搭建(在Mac OS X中配置Apache+PHP+MySQL运行环境的详细步骤)
- 在mysql语法中用来修改数据的命令(explain命令为什么可能会修改MySQL数据)
- mysql索引原理及使用(再有人问你MySQL索引原理,就把这篇文章甩给他!)
- mysql六大锁解析(MySQL 锁的相关知识总结)
- mysql的三大组件(详解MySQL8的新特性ROLE)
- 查看mysql支持的字符集(不可忽视的MySQL字符集)
- mysql8.0.26安装教程(mysql 8.0.22压缩包完整安装与配置教程图解亲测安装有效)
- 怎么查看mysql计划执行情况(详解 MySQL 执行计划)
- 分享mysql设计规范(MySQL 可扩展设计的基本原则)
- mysql中修改表的字段名(MySQL 使用SQL语句修改表名的实现)
- navicat创建MySql定时任务的方法详解(navicat创建MySql定时任务的方法详解)
- 梁山创始人杜迁,为何不受宋江待见,只排名83位(梁山创始人杜迁)
- 法国面包(法国面包法棍)
- 微信(微信分身)
- 双十二(双十二和双十一哪个划算)
- 佛肚竹盆景的养护之道(佛肚竹盆景的养护之道)
- 包水饺(包水饺手法怎么包视频)
热门推荐
- mysql如何修改列的默认值(mysql查询的时候给字段赋默认值操作)
- js如何将json字符串转换为json对象
- laravel数据库关联查找(laravel 操作数据库常用函数的返回值方法)
- element-ui 菜单悬停样式(js如何构造elementUI树状菜单的数据结构详解)
- 云主机属于什么层次的云服务(什么是云?什么是云服务?什么是云主机?)
- 使用canvas画个正方形(canvas绘制树形结构可视图形的实现)
- sqlserver怎么写判断条件(SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解)
- node.js怎么使用import(Node.js断点续传的实现)
- javascript中定义数组的方法(JavaScript中数组sort方法的基本使用与踩坑记录)
- docker打包配置好的镜像(docker镜像的导入和导出的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9