用户定义的变量竞争条件

时间:2015-04-27 12:46:29

标签: mysql stored-procedures race-condition

如果我有一个运行两个查询的API端点:第一个初始化一些用户定义的变量,下一个使用它们查询一些东西。

set @variable = 0;
select @variable := @variable + 1 from table1;

然后想象第二个查询相当慢,有人在完成之前点击端点。这会重置@variable,对吗?这意味着如果我有一个非常频繁的API点,则查询将不正确。

  1. 如果这个问题是正确的,那么防止这种情况的首选方法是什么?
  2. 我应该把它变成程序性陈述吗?
  3. 包装在交易中会有帮助吗?

0 个答案:

没有答案