84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
假设:user表,有一个字段id,设置id为自增,执行一次insert语句,如何高效的获取刚刚插入的数据的id是多少?
原来的解决方案:执行insert之后,再执行一次select,找到刚刚插入的数据,拿到id,有没有可能优化这种方案?
学习是最好的投资!
假设楼主用的是世界上最好的语言,那就可以用mysql_insert_id()这个函数
hibernate这些持久化工具都可以save之后获得持久化的对象,里面的id即为刚刚插入之后的id。如果没有持久层也可以用SQL函数LAST_INSERT_ID()获得刚刚插入的AUTO_INCREACE字段的ID值。必须前一SQL为一INSERT语句,如果是其他语句,返回的ID值为零。
https://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html
看评论
只说mysql的话
SELECT LAST_INSERT_ID();
有些数据库驱动会专门提供方法,比如PDO::lastInsertId
PDO::lastInsertId
假设楼主用的是世界上最好的语言,那就可以用mysql_insert_id()这个函数
hibernate这些持久化工具都可以save之后获得持久化的对象,里面的id即为刚刚插入之后的id。
如果没有持久层也可以用SQL函数LAST_INSERT_ID()获得刚刚插入的AUTO_INCREACE字段的ID值。必须前一SQL为一INSERT语句,如果是其他语句,返回的ID值为零。
https://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html
看评论
只说mysql的话
有些数据库驱动会专门提供方法,比如
PDO::lastInsertId