84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
假设: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