本文摘自PHP中文网,作者醉折花枝作酒筹,侵删。
本篇文章给大家介绍一下mysql实现自增序列的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
1.创建sequence表
1 2 3 4 5 6 | 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.创建?C取当前值的函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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 ;
|
阅读剩余部分
相关阅读 >>
range()是什么?为什么不生产迭代器?
怎么将mysql数据导出
mysql"军规"
mysql怎么删除数据表?
mysql用户名怎么查看?
mysql 查询结果取交集的方法
mysql修改表时怎么添加主键约束?
mysql编程中的6个实用技巧
mysql 语句执行顺序举例解析
mysql同步sqlserver数据库数据
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » mysql如何实现自增序列