利用mysql生成唯一序號

數(shù)據(jù)庫分表或者程序自己需要唯一id的情況下,我們需要一個生成唯一id的方案。

可以編寫一個綜合時間和某些特征生成唯一id的程序,也可以考慮使用數(shù)據(jù)庫里自增id的特性來實現(xiàn)這個需求,下面舉個mysql的例子。

首先創(chuàng)建一個專門生成id的表,其中id字段是主鍵,replace_key字段為唯一鍵。

CREATE?TABLE?`ticket`?( ????`id`?bigint(20)?unsigned?NOT?NULL?auto_increment, ????`replace_key`?char(1)?NOT?NULL?default?'', ????PRIMARY?KEY?(`id`), ????UNIQUE?KEY?`replace_key`?(`replace_key`) )?ENGINE=MyISAM?DEFAULT?CHARSET=utf8?AUTO_INCREMENT=10001;

每次需要生成id時,利用replace into語句生成新的記錄將舊的記錄替換掉,然后返回此id即可。

REPLACE?INTO?`ticket`?(`replace_key`)?VALUES?('a'); SELECT?LAST_INSERT_ID();

推薦mysql視頻教程,地址:https://www.php.cn/course/list/51.html

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊5 分享