选择“按数组值查询”

时间:2014-06-20 06:13:12

标签: mysql sql arrays

我有一个id数组,我必须从表中为数组的每个值选择,我可以在for loop逐个获取它,

SELECT  point, privacy FROM `tableName` WHERE id='1403176452487620892'and status=1

但问题是数组大小为100,我需要一个不是100的查询。

3 个答案:

答案 0 :(得分:2)

为什么你不能使用:

SELECT  point, privacy FROM `tableName` WHERE status=1 and id in(?,?,?...)

是的,这太长了,但是如果你需要一个查询......

答案 1 :(得分:1)

您可以这样使用:

   $ids = join(',',$ids);  
   $sql = "SELECT * FROM tableName WHERE id IN ($ids)";

答案 2 :(得分:0)

您可以尝试这样

$array = array(1,2,3);
$str = implode(",", $array);
$sql = "SELECT  point, privacy FROM `tableName` WHERE id in ($str) and status=1";