Mysql数据库创建序列
2021/6/8 19:33:36
本文主要是介绍Mysql数据库创建序列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天想使用做一个单点登录系统的,使用的是mysql数据库,因为之前使用的是sqlserver数据库,建完表之后返现没有没有序列,网上找了一下发现mysql是没有提供
序列进行取值的。
那么mysql 想有一个类似SQL server的功能应该如何实现呢。
实现思路 建立一张表存放对应序列号的当前值 --》创建一个函数每去一次值则对应的序列号增加
如图所示:
第一步;建立对应的表
CREATE TABLE seqUserloginInfo (
name VARCHAR(50) NOT NULL,
current_value INT NOT NULL,
increment INT NOT NULL DEFAULT 1,
PRIMARY KEY (name)
);
第二步.建立对应的函数(也可以是存储过程)
1查询函数
CREATE FUNCTION `currval`(seq_name VARCHAR(50)) RETURNS int(11)
BEGIN
DECLARE value int;
set value=0;
SELECT current_value INTO value FROM seqUserloginInfo where name=seq_name;
return value;
END
2.消耗一个序列
CREATE FUNCTION `nextval`(seq_name VARCHAR(50)) RETURNS int(11)
BEGIN
UPDATE seqUserloginInfo SET current_value = current_value + increment where name=seq_name ;
RETURN currval(seq_name);
END
3.消耗多个序列
CREATE FUNCTION `setval`(seq_name VARCHAR(50), value INTEGER) RETURNS int(11)
BEGIN
UPDATE seqUserloginInfo
SET current_value = value where name=seq_name;
RETURN currval(seq_name);
END
测试:
SELECT nextval('userlogininfo',10)
SELECT setval('userlogininfo',10)
这篇关于Mysql数据库创建序列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-02MySQL 3主集群搭建
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解