create table sequence(
name varchar(50) not null primary key,
current_value BIGINT not null DEFAULT 0,
increment int not null DEFAULT 1,
max_value BIGINT, -- 最大值
initial_value BIGINT, -- 初始值,当当前值大于最大值,回到初始值
key (name)
);
DELIMITER ;;
CREATE FUNCTION nextval (seq_name VARCHAR(50))
RETURNS BIGINT
CONTAINS SQL
BEGIN
UPDATE sequence
SET current_value = current_value + increment
WHERE name = seq_name;
RETURN currval(seq_name);
END;;
drop function currval;
DELIMITER ;;
CREATE FUNCTION currval (seq_name VARCHAR(50))
RETURNS INTEGER
CONTAINS SQL
BEGIN
SELECT current_value,max_value,initial_value INTO @current_value, @max_value, @initial_value
FROM sequence
WHERE name = seq_name;
if(@current_value>@max_value) then
UPDATE sequence
SET current_value = initial_value
WHERE name = seq_name;
set @current_value=@initial_value;
end if;
RETURN @current_value;
END;;
SELECT * from sequence;
SELECT nextval('sq_test_id');
详细解决方案
mysql创建序列
热度:32 发布时间:2024-02-06 21:10:50.0
相关解决方案
- mysql 简单化 or能否实现
- 请问registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister
- MySQL 5.5 Command Line Client 窗口1输密码就退出
- 在LINUX上配置 MySQL 开机自动 启动
- mysql 转 orocle java ssh项目一条 sql 句不通!
- 上了个 MySQL 5.5.25 但是安装时出错了
- JDBC MYSQL 驱动加载失败 JSP DAO ECLIPSE,该怎么解决
- tomcat 中抛异com.mysql.jdbc.exceptions.MySQLTransactionRollbackException,该如何处理
- struts+iBatis+mysql,该如何解决
- mysql 有外键的插入解决方案
- mysql,该如何处理
- MyBatis3.1.1 Insert 回到主键 long类型 MYSQL 数据库
- mysql:假若一个表中,有两个属性name和id,删除同名的保留id小的,问这样写有误吗
- java mysql where限制有关问题
- 救助。Mysql 的条件删除语句如何写,就是删除部门的时候,如果部门下有用户,就不能删除
- mysql 触发器 根据更新的这一列的数据来更新本行的另一列数据解决办法
- 数据库Sqlserver,Sybase,orcale,mysql 用jDBC 做分页操作的查询效率有什麽区别解决办法
- sql+mysql+chart+DataTable实现折线图分享!解决方案
- sql+mysql+chart+DataTable兑现折线图分享
- mysql diopdownlist连接数据库,该怎么解决
- MySQL 自动增长列的有关问题?求高手指导,小弟我是学生
- MySQL 主键和自增列的有关问题 新手在学 求指导
- Unable to connect to any of the specified MySQL hosts为什么连不上mysql?该如何解决
- mysql 的存储过程变量如何在 sql 中使用
- 在小公司怎么成长为高级 mysql dba
- Myeclipse+Jboss+mysql JNDI调用疏失
- Myeclipse+Jboss+mysql JNDI调用出错,该怎么解决
- mysql+weblogic连接池的有关问题
- Mysql 不明原因经常重启,造成无法访问,该怎么处理
- 数据库推选(oracle vs mysql)