广告
返回顶部
首页 > 资讯 > 数据库 >mysql实现自增序列的方法
  • 384
分享到

mysql实现自增序列的方法

2024-04-02 19:04:59 384人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“Mysql实现自增序列的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql实现自增序列的方法”这篇文章吧。1.创建seque

这篇文章主要为大家展示了“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实现自增序列的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: mysql实现自增序列的方法

本文链接: https://www.lsjlt.com/news/55917.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql实现自增序列的方法
    这篇文章主要为大家展示了“mysql实现自增序列的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql实现自增序列的方法”这篇文章吧。1.创建seque...
    99+
    2022-10-18
  • mysql搜索自增列的方法
    这篇文章主要介绍了mysql搜索自增列的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。mysql搜索自增列的方法:1、使用【selec...
    99+
    2022-10-18
  • mysql实现自增序列的示例代码
    创建sequence表 CREATE TABLE `sequence` ( `name` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '序列的名字',...
    99+
    2022-05-28
    mysql 自增序列
  • 在MySQL中创建实现自增的序列(Sequence)
    由于mysql和oracle不太一样,不支持直接的sequence,所以需要创建一张table来模拟sequence的功能,理由sql语句如下: 第一步:创建--Sequence 管理表 DROP...
    99+
    2022-10-18
  • MySQL如何设置自动增长序列SEQUENCE的方法
    目录1.创建表emp_seq,用来存放sequence值:2.手动插入数据:3.定义函数 nextval:4.恢复默认的语句结束符:6.执行外部SQL脚本命令7.成功导入sql脚本后...
    99+
    2022-11-12
  • redis自增序列怎么实现
    Redis自增序列可以通过以下几种方式实现:1、使用INCR命令:使用Redis的INCR命令可以对一个指定的键进行自增操作。比如,...
    99+
    2023-05-23
    redis自增序列 redis
  • MySQL数据库列的增删改实现方法
    本文实例讲述了MySQL数据库列的增删改实现方法。分享给大家供大家参考,具体如下: 新建表user_info: CREATE TABLE user_info( id INT NOT NULL PRIMA...
    99+
    2022-10-18
  • MySQL自定义序列数的实现方式
    目录mysql自定义序列数实现创建序列表插入定义的序列自定义函数实现MyBATis中调用函数来获取最新序列数MySQL添加自定义的序列使用实例总结MySQL自定义序列数实现 往往有很多情况下,我们需要使用自己生成的唯一I...
    99+
    2022-12-28
    MySQL自定义序列数 自定义序列数 MySQL自定义序列
  • MySQL数据库中怎么实现序列自增功能
    MySQL数据库中怎么实现序列自增功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、创建sequence表CREATE TABL...
    99+
    2022-10-18
  • mysql实现自增步长调整的方法
    首先执行命令,查看配置,如下:show variables like '%increment%';如果:auto_increment_increment=2则执行:set @@global....
    99+
    2022-10-18
  • 通过触发器和自增序列实现oracle自增ID
    create sequence seq_tablename        start with 1        increment by 1;  create or replace trigger tri_tablename_i...
    99+
    2019-01-19
    通过触发器和自增序列实现oracle自增ID
  • python 实现mysql自动增删分区的方法
    连接mysql #!/usr/bin/python #-*- coding:utf-8 -*- import time import pymysql class connect_mysql(object): ...
    99+
    2022-05-22
    python mysql自动增删分区 python mysql 增删分区
  • mysql轻松实现排序后增加序号列
    前言:在日常开发中,我们会发现表中的自增字段不能满足我们排序后对排序号的要求,或者表中没有自增字段。这时候就要手动增加序号列,实现SQL如下: select @rownum:=@rownu...
    99+
    2023-09-13
    mysql sql 数据库
  • 【Mysql】给查询记录增加序列号方法
    在MySQL 8.0版本中,你可以使用ROW_NUMBER()函数来添加序号。以下是一个示例查询,演示如何添加序号: SELECT ROW_NUMBER() OVER (ORDER B...
    99+
    2023-10-22
    mysql 数据库
  • springboot中EasyPoi实现自动新增序号的方法
    目录方式一:方式二:方式一: 新增一个名为序号的列,设置导出格式为:isAddIndex 不要在ExportParams 中设置addIndex 为true 这个没啥用 List...
    99+
    2022-11-12
  • pandas添加自增列的2种实现方案
    有时候我们需要添加一列自动增加数字的列,可以用下面两种方法: 第一种 >>> import pandas as pd >>> df = pd....
    99+
    2022-11-11
  • mysql设置自增ID的方法
    小编给大家分享一下mysql设置自增ID的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql设置自增ID的方法:执行【CREATE TABLE empautoinc(ID INT &...
    99+
    2022-10-18
  • java实现序列化的方法
    实现序列化:1)使用Serializable接口实现序列化首先我们定义一个对象类Userpublic class User implements Serializable { //序列化ID private static f...
    99+
    2014-12-28
    java 序列化
  • redisson实现序列化的方法
    这篇文章运用简单易懂的例子给大家介绍redisson实现序列化的方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Redisson是架设在Redis基础上的一个Java驻内存数据网格(...
    99+
    2022-10-18
  • MySQL序列的解决方法
    MySQL序列的解决方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 MySQL自增长与Oracle序列的区别: 自增长只能用于表中的其...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作