我必须使用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次?
提前致谢!
答案 0 :(得分:2)
只需将where
语句放在update
:
UPDATE `table`
SET `status` = '1'
WHERE `status`='$status' AND `date`='$date'";