gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 06:57:40 25 4
gpt4 key购买 nike

我有一个表,其中有一列包含 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

虽然,如果他们有不同的意见,我很乐意阅读。

关于php - 使用 MYSQL LAST_INSERT_ID() 检索插入行的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14238784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com