MySQL,按ID选择一组元素?

时间:2012-04-18 04:38:27

标签: mysql

我有一个脚本可以从每行中提取ID,您可以从这些脚本中选择同时更改多个ID。

我有一个要更新的ID数组,但是如何在单个mysql查询中选择一组任意ID呢?

类似的东西:

SELECT * FROM 'locations' WHERE 'region'='$region' AND 'uniqueID'={$id_array}

我对此有点困惑,我确信mysql有一个特殊的操作符来处理这类事情。或者是吗?为每个元素做一个单独的mysql查询会更好吗? (如果是这样,我可以将多个查询绑定到单个PHP mysql调用中吗?...以减少连接)

2 个答案:

答案 0 :(得分:1)

SELECT * FROM 'localtions' WHERE 'uniqueID' IN (.....your ids here, comma separated)

对于PHP解决方案: WHERE uniqueid IN (" . implode($id_list, ",") . ")

答案 1 :(得分:1)

您可以使用逗号分隔的id字符串并触发查询。

,而不是与数据库建立多个连接
foreach ($arr as $id_array) {
$strid .= ','.$arr;

}

将为您提供逗号分隔的ID字符串。 现在,您只需要连接一次数据库。

SELECT * FROM 'locations' WHERE 'region'='$region' AND 'uniqueID' in (."$strid".)