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添加备注信息的实现)
- mysql8.0关键字段使用(MySQL 8.0新特性之隐藏字段的深入讲解)
- mysql用户删除了如何设置(MySQL两种删除用户语句的区别delete user和drop user)
- docker安装mysql后无法连接(Docker 安装 MySQL 并实现远程连接教程)
- mysql对大表千万级如何优化(MySQL 大表的count优化实现)
- mysql8.0.12安装教程图解(MySql8.023安装过程图文详解首次安装)
- mysql中的null是什么(浅谈为什么Mysql数据库尽量避免NULL)
- mysql索引详解及基本用法(Mysql普通索引与唯一索引的选择详析)
- mysql中如何设置多个主键(Mysql 增加主键或者修改主键的sql语句操作)
- Mysql官方性能测试工具mysqlslap的使用简介(Mysql官方性能测试工具mysqlslap的使用简介)
- mysql用户授权的步骤(mysql创建用户并赋予用户权限详细操作教程)
- 安装mysql中要注意什么问题(安装Mysql时可能会遇到的一些疑难杂症)
- django mysql设置(Django框架使用mysql视图操作示例)
- mysql触发器入门(MySQL中触发器和游标的介绍与使用)
- mysql定期备份(Mysql5.7定时备份的实现)
- centos7可以装mysql吗(详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题)
- TVB新剧《黯夜守护者》将播,陈展鹏陈炜首次合作探讨人性(TVB新剧黯夜守护者将播)
- 新晋小花被称女版吴卓羲 将取代滕丽名成为TVB新一代御用女警(新晋小花被称女版吴卓羲)
- 艺人吴卓羲10年警察生涯,演足10年阿Sir,系咩玩法(艺人吴卓羲10年警察生涯)
- 菲律宾潜水(菲律宾潜水价格)
- 泰国人妖(变性手术生殖器要割掉吗)
- 泰国美女(泰国人妖和女性如何区分)
热门推荐
- nginxlocation和alias的区别(nginx搭建图片服务器的过程详解root和alias的区别)
- dedecms会员入驻(dedecms会员注册成功后直接跳转到验证的邮箱地址)
- C# volatile与lock
- 用javascript设计五子棋(JavaScript实现网页版五子棋游戏)
- SQL SERVER ErrorLog文件
- dedecms漏洞防范(浅析DedeCMS投票模块漏洞的解决方法)
- dedecms使用安装(使用dedecms搭建自己的本地网站全程图解)
- zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)
- pythonsocket编写web服务器(局域网内python socket实现windows与linux间的消息传送)
- mysql读写分离怎么实现的(详解MySQL主从复制及读写分离)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9