如果我有这样的脚本:
$sql = "SELECT * FROM table WHERE Status='0'";
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query))
$id = $row['ID'];
//.........
if($process->send()) { //after sent
mysql_query("UPDATE table
SET Status ='1'
WHERE ID = '$id'");
}
}
所以它会在处理完成时更新每一行。但是如果我有超过一万 strip 有Status='0'
的记录,更新就会变慢。
那么有没有更好的方法来更新记录呢?我无法通过一个查询来更新所有内容,因为我需要知道每个过程是否已完成。
谢谢。
最佳答案
将所有成功的添加到一个数组中,然后简单地同时提交所有这些。
if ($process->send()) {
$done[] = $id;
}
稍后:
mysql_query('UPDATE table SET Status=1 WHERE ID IN ('.implode(',', $done).')');
关于php - 更新数据库中的多行或记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624741/