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
您可能感兴趣
- mac的mysql连接问题如何解决(MAC 中mysql密码忘记解决办法)
- mysql编码设置
- mysql 加锁处理分析(mysql死锁和分库分表问题详解)
- navicat连接mysql1045解决方法(Navicat 连接服务器端中的docker数据库的方法)
- 最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)(最新版MySQL 8.0.22下载安装超详细教程Windows 64位)
- mysql有哪些索引和聚簇索引(MySQL 独立索引和联合索引的选择)
- zabbix监控sql server集群(zabbix 监控mysql的方法)
- mysql binlog模式实际使用(实例验证MySQL|update字段为相同的值是否会记录binlog)
- docker创建mysql环境(docker上部署MySQL的示例)
- mysql整体架构设计(MySQL 整体架构介绍)
- mysql索引建立及应用(MYSQL创建索引,这些知识应该了解)
- mysql查询条件的优化(MySQL查询优化之查询慢原因和解决技巧)
- mysql索引面试总结(Mysql数据库索引面试题程序员基础技能)
- mysql中默认排序教程(基于mysql 默认排序规则的坑)
- mysql的binlog日志详解(MySQL 有关MHA搭建与切换的几个错误log汇总)
- django连接mysql不支持中文插入(Django创建项目+连通mysql的操作方法)
- 记者手记 书记带我去 巡街(记者手记书记带我去)
- 富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元 | 美通社(富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元)
- 二次创业 的富士胶片,在进博会上首次展示完成转型后的全线医疗产品(二次创业的富士胶片)
- 富士胶片 中国 我们对上海的信心没有任何改变(富士胶片中国)
- 赢麻了 富士公布2021年度财报 营利同比增长240(富士公布2021年度财报)
- 医事文化谈屑 | 古人的名 字 号(医事文化谈屑古人的名)
热门推荐
- 如何获取gridview隐藏列的值
- HttpServerUtility类的常用方法
- .net面试智力题
- sqlserver查看某个库所有表(SQL Server怎么找出一个表包含的页信息Page)
- python怎么操作mysql(详解Python的数据库操作pymysql)
- python 简单算法(python实现爬山算法的思路详解)
- sw动态注解视图干嘛的(Swoole 5将移除自动添加Event::wait特性详解)
- dedecms搜索功能怎么设置详细(DEDECMS自定义联动类别调用及修改方法)
- nodejs怎么查看对象的全部属性(浅谈nodejs中创建cluster)
- python将网站图片本地存储(详解Python下载图片并保存本地的两种方式)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9