关于IN运算符的困惑

时间:2017-08-24 12:35:14

标签: mysql operator-keyword

我正在尝试使用IN运算符更新表中的两列

mysql_query("UPDATE table SET value = value + 1 WHERE column IN ('row1' , 'row2')");

但我注意到row1&中的值如我所想,row2没有正确更新。我尝试在localhost中使用相同的代码,它可以工作但是在测试服务器上每小时大约15-20次点击它无法正常工作。我甚至阻止了测试服务器的总流量,如果服务器滞后但是没有帮助,等待超过12小时。

我将代码更改为

mysql_query("UPDATE table SET value = value + 1 WHERE column = 'row1'");
mysql_query("UPDATE table SET value = value + 1 WHERE column = 'row2'");

现在我开始获得实时价值,即使流量略有增加,每小时约25-30次点击。

我是否在代码中犯了一些错误,从here获取了帮助,或者IN运算符是否存在任何限制,或者是测试服务器的错误?

编辑:我正在使用免费主机。

1 个答案:

答案 0 :(得分:0)

我猜这是种族的经典案例,并且没有使用同步技术来创建互斥块。尝试在事务中执行此更新语句