在数据库使用中,经常使用 auto_increment 属性为主键列生成唯一的整数值

  • 在将新行插入到具有 auto_increment 列的表中时,MySQL 会自动生成一个唯一的整数,并将其作为主键列的值
  • 可以在 MySQL 中使用 last_insert_id() 函数获取生成的序列号,并将此数字值使用在下一个语句中 ```sql

    创建一个新表

    create table if not exists demo( id int(12) auto_increment, name varchar(25), constraint demo_id primary key(id) );

插入一条数据

insert into demo (name) values (“世界”);

获取刚插入的数据的id

select last_insert_id() as id; #查询结果为0

插入多条数据

insert into demo (name) values (‘神仙’), (‘大人’), (‘木木’);

再次获取,查询结果为2

select last_insert_id(); ``` 结论:

  • 插入单条数据,返回的是该数据的 id
  • 同时插入多条数据时,返回的是这些数据中最先插入的数据的 id

注意:

  • last_insert_id 函数基于客户端独立原则,因此,特定客户端获取的是该客户端生成的值