查询返回以下结构:
24 | 24,879
45 | 657,45
77 | 77,15
等。使用php,我可以将其转换为数组,例如!
$array = (24=>"24,879",45=>"657,45",77=>"77,15");
现在我需要的是第二个查询,如:
update $table set $col = 24 if $col in (24,879)
更确切地说,类似于:
foreach($array as $k=>$v) {
mysql_query("update `$table` set `$col` = $k if `$col` in ($v)");
}
不好意思,不是吗?将不胜感激。
编辑:返回以逗号分隔的内容的查询如下:
SELECT n.id, o.email, count( o.email ) AS c,
CAST( GROUP_CONCAT( DISTINCT o.id ) AS char ) AS nid
FROM 0_member AS n JOIN member_base AS o ON o.email = n.login_userid
GROUP BY o.email HAVING c >1
答案 0 :(得分:0)
您需要的是:
UPDATE table SET column = 24 WHERE column IN (24, 879)
答案 1 :(得分:0)
分解$v
中包含的数据,然后在运行mysql数据之前运行if
查询。