如果我在同一个表上执行多个MySQL查询,偶尔会跳过一些。
为什么会这样呢?
例如:
<?php
mysql_query("UPDATE `tb` SET `field` = '' WHERE `Id` = '$something'");
mysql_query("UPDATE `tb` SET `field2` = '' WHERE `Id` = '$something'");
mysql_query("UPDATE `tb` SET `field3` = '0' WHERE `Id` = '$something'");
?>
有时其中一个查询将不被执行?
为什么会这样呢?
还是我的服务器出了问题,不是一般的MySQL?
(显然我现在知道在同一个查询中更新同一个表,但在此之前我对为什么会发生这种情况感到困惑,有人能解释一下吗?)
3条答案
按热度按时间jdgnovmf1#
如果要更新相同的行,则不需要进行3次查询:
此外,您应该停止使用古老的
mysql_*
函数。它们不再被维护,并且弃用的过程有already begun。也许你应该避免使用10年以上的API,并为这十年学习一些东西:PDO Tutorial for MySQL Developers。
tvokkenx2#
调试代码以查看查询是否失败:
4sup72z83#
使用以下命令调试代码:
更新
确保使用以下命令转义
$something
: