更新多行而不循环:PHP-MySQL

时间:2015-03-15 15:07:59

标签: php mysql loops

我必须使用PHP更新MySQL表中多行的状态。实际上,将有大约200行需要立即更新状态。目前我正在使用循环来更新行。

$status = '0';
$date = 'YYYY-MM-DD';
$result = mysql_query("SELECT * FROM `table` WHERE `status`='$status' AND `date`='$date'") or die(mysql_error());
foreach($result as $row){
    mysql_query("UPDATE `table` SET `status`='1'or die(mysql_error())");
}

这需要相当长的时间才能更新状态。是否有更好或更简单的方法可以做到这一点,而不是每次循环超过200次?

提前致谢!

1 个答案:

答案 0 :(得分:2)

只需将where语句放在update

上即可
UPDATE `table`
    SET `status` = '1'
    WHERE `status`='$status' AND `date`='$date'";