$_query = 'UPDATE ' . TABLE_A1 . ' SET active=0 WHERE user_id IN ( ';
foreach ($newUsers as $newUser) {
$_query.=$newUser. ' ,';
}
$_query = rtrim($_query, ',');
$_query .=')';
这是一次同时编辑多个表条目的高效方法吗?有更快的方法吗?
感谢
答案 0 :(得分:1)
是的,这是非常高效的。我不知道有什么更快的方式。
答案 1 :(得分:1)
更新很好。
您可以使用implode
而不是遍历该数组来使您的PHP更优雅。
即:
$_query = 'UPDATE ' . TABLE_A1 . ' SET active=0 WHERE user_id IN (' . implode(',', $newUsers) . ');'
答案 2 :(得分:1)
您可以在查询中添加另一个约束,这可能会加快速度,但这取决于您获得用户的方式......
如果您的某些用户已经“有效= 0”,您可以通过添加
将其排除在查询中....其中有效的<> 0和user_id在(...
这将阻止对已具有正确值的字段进行更新。我在系统oncce上有类似的查询,它正在更新数百万条记录,其中包含正确的信息......