MySQL数据库,主键自增的情况下要获取刚刚新增的那条数据的id,可以使用:
select last_insert_id();
例如:student表:
id | name | age |
---|---|---|
1 | 小明 | 10 |
2 | 小花 | 10 |
新增语句:insert into student(name,age) values ("小三","20");
这时如果使用select last_insert_id();
是可以查出这条数据的id为3的。
但是我找到了一个这个语句不生效的情况:
我刚找到这个方法的时候想测试一下,我就写了一个新增语句,是这么写的:insert into student(id,name,age) values (3,"小三","20");
然后我再用select last_insert_id();
发现结果出来是0,我觉得可能是我的新增语句里直接指定了主键的值,没有让MySQL为它自增出一个值所以这个语句不生效。
其实这个发现很扯,可以说基本没用,因为基本没有哪种业务场景是由代码去指定自增id的值的,如果真的能指定,那其实根本没有必要用这个语句再获取一遍id的值。但也权当一个发现记录在这里吧。