PHP PDO函数lastInsertId和竞争条件

6
假设在我的系统中,一个用户U1在表A中创建了一个新的数据库条目,并且我使用lastInsertId函数来获取这个条目的ID(自动递增字段),但是几乎在同一时间(稍后一点),另一个用户U2也做了同样的事情。
在这种情况下,lastInsertId会返回U1所添加的条目的ID,而不是U2的,因为它是最近添加的。
谢谢。

1
请参考以下链接中的答案,该答案介绍了使用PHP在MySQL中查找最后插入的ID的最佳方法:https://dev59.com/lGPVa4cB1Zd3GeqP30H6 - Sahan H.
1
我的理解是每个用户都会有不同的连接,所以没有问题。在脚本开始时创建连接时,你实际上只是为代码的这一次运行创建了连接。除非你做一些花哨的东西来共享连接,否则另一个用户将会有一个新的连接。 - mpen
1个回答

3

基本上,您必须费心跨线程重复使用连接,因此,除非您做了这样的事情,否则它是可以的。 - Nelson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接