【Mysql進階技巧(2)】利用mysql生成惟一序號

在數據庫分表或者程序本身須要惟一id的狀況下,咱們須要一個生成惟一id的方案。
能夠編寫一個綜合時間和某些特徵生成惟一id的程序,也能夠考慮使用數據庫裏自增id的特性來實現這個需求,下面舉個mysql的例子。
首先建立一個專門生成id的表,其中id字段是主鍵,replace_key字段爲惟一鍵。mysql

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便可。sql

REPLACE INTO `ticket` (`replace_key`) VALUES ('a');
SELECT LAST_INSERT_ID();
相關文章
相關標籤/搜索