在更新语句中使用IN时更新单行

时间:2013-11-22 12:28:46

标签: php mysql

我有这个查询

$id='1,2,3,4';
$db->query("UPDATE users SET active=0 WHERE id IN('$id')");

它只更新最后一个ID即。 4 我的SQL语句有问题吗?

1 个答案:

答案 0 :(得分:4)

删除引号

where id IN($id)

IN子句需要单独的条目,而不是单个字符串,其中包含逗号分隔值。例如:

where id IN(1,2)      -> correct
where id IN('1','2')  -> correct
where id IN('1,2')    -> wrong