mysql 序列号_mysql 序列号生成器(转)
如果你不想使用mysql的自動遞增,但又想實現主鍵序列號的功能,可以使用下面的方法,通過函數用一張表去維護生成多個表的序列號,簡單又實用
1.創建生成多個表的序列號的數據維護表
CREATE TABLE seq (
name varchar(20) NOT NULL,
val int(10) UNSIGNED NOT NULL,
PRIMARY KEY? (name)
) ENGINE=MyISAM DEFAULT CHARSET=UTF-8
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)
總結
以上是生活随笔為你收集整理的mysql 序列号_mysql 序列号生成器(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《别闹了,费曼先生》1
- 下一篇: 别闹了,费曼先生