mysql序列号生成器 mysql自定义函数生成序列号的例子

发布时间:2020-06-29编辑:脚本学堂
本文介绍下,在mysql数据库中,使用自定义函数生成序列号的方法与实例,有兴趣的朋友一起研究下。

本节主要内容:
mysql序开号生成器的实现代码。

1,创建生成多个表的序列号的数据维护表
 

复制代码 代码示例:
CREATE TABLE `seq` ( 
  `name` varchar(20) NOT NULL, 
  `val` int(10) unsigned NOT NULL, 
  PRIMARY KEY (`name`) 
) ENGINE=myisam DEFAULT CHARSET=utf8;

2,插入几条初始化数据
 

复制代码 代码示例:
INSERT INTO seq VALUES('one',100); 
INSERT INTO seq VALUES('two',1000); 

3,创建函数以生成序列号
 

复制代码 代码示例:
CREATE FUNCTION seq(seq_name char (20)) returns int 
begin 
 UPDATE seq SET val=last_insert_id(val+1) WHERE name=seq_name; 
 RETURN last_insert_id(); 
end 

4,实例测试
 

复制代码 代码示例:
mysql> SELECT seq( 'one' ) ,seq( 'two' ) ,seq( 'one' ) ,seq( 'one' ) ;
+------------+------------+------------+------------+
| seq( 'one' ) | seq( 'two' ) | seq( 'one' ) | seq( 'one' ) |
+------------+------------+------------+------------+
|        102 |       1002 |        103 |        104 |
+------------+------------+------------+------------+
1 row IN SET ( 0 .00 sec)