Mysql查询帮助

时间:2011-05-25 11:26:29

标签: php mysql

查询返回以下结构:

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

2 个答案:

答案 0 :(得分:0)

您需要的是:

UPDATE table SET column = 24 WHERE column IN (24, 879)

答案 1 :(得分:0)

分解$v中包含的数据,然后在运行mysql数据之前运行if查询。