$_query = 'UPDATE ' . TABLE_A1 . ' SET active=0 WHERE user_id IN ( ';
foreach ($newUsers as $newUser) {
$_query.=$newUser. ' ,';
}
$_query = rtrim($_query, ',');
$_query .=')';这是一种同时编辑多个表项的有效方法吗?有没有更快的方法?
谢谢
发布于 2010-11-18 19:16:05
是的,这是非常好的表现。我不知道有没有更快的方法。
发布于 2010-11-18 19:35:17
更新很好。您可以通过使用implode而不是遍历该数组来使您的PHP更优雅一些。
即:
$_query = 'UPDATE ' . TABLE_A1 . ' SET active=0 WHERE user_id IN (' . implode(',', $newUsers) . ');'发布于 2010-11-18 19:40:54
您可以向查询添加另一个约束,这可能会使查询速度更快,但这取决于您如何获得用户……
如果你有一些已经是"active=0“的用户,那么你可以在查询中排除他们,添加
……active<>0和user_id在哪里(...
这将阻止对已经具有正确值的字段进行更新。我曾经在一个系统上进行过类似的查询,它正在更新数百万条记录,这些记录已经包含了正确的信息……
https://stackoverflow.com/questions/4214119
复制相似问题