如果同时有多个用户使用LAST_INSERT_ID()
,那么在使用MySQL
类销售点的系统中使用该系统安全吗?
发布于 2012-08-29 10:22:26
在LAST_INSERT_ID() 文档中,它说:
生成的ID是在每个连接的基础上在服务器中维护的。这意味着函数返回给给定客户端的值是为影响该客户端的AUTO_INCREMENT列的最新语句生成的第一个AUTO_INCREMENT值。此值不受其他客户端的影响,即使它们生成自己的AUTO_INCREMENT值。这种行为确保每个客户端都可以检索自己的ID,而不必关心其他客户端的活动,也不需要锁或事务。
因此,如果您在插入后调用该函数以知道插入的ID,则其他并发用户不应该对其进行修改,因为他们使用的不是相同的连接。
无论如何,在您的问题中没有太多的细节,所以您的用例可能比这个要复杂一些。
https://softwareengineering.stackexchange.com/questions/162773
复制相似问题