在数据库使用中,经常使用 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 函数基于客户端独立原则,因此,特定客户端获取的是该客户端生成的值