是否有可能执行两个查询可能会相互干扰

时间:2014-08-23 13:01:12

标签: mysql sql concurrency

假设两个用户正在使用网站并且该网站内的操作插入新行,然后选择该行(通过选择最近插入的行)以返回给用户。是否有可能在一个用户插入行并且选择了行之间,另一个用户可以插入新行,从而使选择查询选择另一个用户的行而不是正确的行。如果有,有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果通过"最近插入的行"你的意思是:

select id
from table t
order by id desc
limit 1;

然后他们肯定会互相干扰。

如果通过"最近插入的行"你的意思是LAST_INSERTED_ID(),那你就安全了。这是基于每个连接存储的。您可以阅读更多相关信息here