­

数据库 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。