php – 使用MYSQL LAST_INSERT_ID()来检索插入行的ID?

前端之家收集整理的这篇文章主要介绍了php – 使用MYSQL LAST_INSERT_ID()来检索插入行的ID?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个表有一个AUTO INCREMENT列.我必须在插入新行时检索此列的值(我需要新行的值).我已经阅读了很多关于它并找到了不同的解决方案,一个是使用SELECT LAST_INSERT_ID().我听说过很多不同的事情.我可以或不可以使用它吗?我担心另一个连接可能会在我能够调用SELECT LAST_INSERT_ID()之前插入一个新行,因此得到错误的ID.

总结一下,使用SELECT LAST_INSERT_ID()是否安全?如果没有,我如何以安全的方式检索最后插入的ID?

最佳答案
我不认为你需要担心你在这里提到的情况.

MysqL文档:生成的ID在每个连接的基础上在服务器中维护.这意味着函数返回给定客户端的值是为该客户端影响AUTO_INCREMENT列的最新语句生成的第一个AUTO_INCREMENT值.此值不受其他客户端的影响,即使它们生成自己的AUTO_INCREMENT值.此行为可确保每个客户端都可以检索自己的ID,而无需关心其他客户端的活动,也无需锁定或事务.

有关详细信息,请参阅this

虽然,如果他们有不同的意见,我很乐意从别人那里读到.

猜你在找的MySQL相关文章