我正在尝试使用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运算符是否存在任何限制,或者是测试服务器的错误?
编辑:我正在使用免费主机。
答案 0 :(得分:0)
我猜这是种族的经典案例,并且没有使用同步技术来创建互斥块。尝试在事务中执行此更新语句