数据库 ID 生成方案:数据库自增
- 2019 年 11 月 26 日
- 筆記
创建一个数据库实例,在这个实例中新建一个单独的表:
表结构如下:
CREATE DATABASE `Test`; CREATE TABLE Test.test01 ( id bigint(20) unsigned NOT NULL auto_increment, phone char(11) NOT NULL default '', PRIMARY KEY (id), UNIQUE KEY uni_phone (phone) ) ENGINE=Innodb;
可以使用下面的语句生成并获取到一个自增ID
begin; replace into test01(phone) VALUES ('12300008888'); select last_insert_id(); commit;
phone 的存在是为了方便插入数据,当插入数据成功时,就产生了自增 id,而对于插入,这里使用的是 replace,replace 会先查找是否存在 phone 指定值一样的数据;如果存在,则先 delete 再 insert,如果不存在,则直接 insert。