如何在sql中通过某些id选择多行

时间:2014-06-11 14:58:35

标签: mysql sql

我需要在db中选择多行(使用MYSQL)。 我通过迭代id数组来创建以下查询:

$ids = array(1,2);
$idq = array();
$q = "SELECT * FROM table_name WHERE ";
foreach($ids as $id)
{
    $idq[] = "`ID` = '" . $id . "'";
}

$q .= implode(" AND ", $idq);

SELECT * FROM table_name WHERE `ID` = '1' AND `ID` = '2'

出于某种原因,它似乎无法发挥作用:

以上不会奏效。有更好的方法吗?

当我做的时候

`SELECT * FROM table_name WHERE `ID` = '1'`

它工作正常,但当我添加AND ID = '2'时,它根本不起作用。

先谢谢

3 个答案:

答案 0 :(得分:2)

使用WHERE IN

SELECT * FROM table_name WHERE编号IN ('1', '2')

答案 1 :(得分:2)

SELECT * FROM table_name WHERE `ID` = '1' AND `ID` = '2'

ID不能同时为1和2。你应该使用OR。

SELECT * FROM table_name WHERE `ID` = '1' OR `ID` = '2'

SELECT * FROM table_name WHERE `ID` IN (1,2,...)

答案 2 :(得分:0)

SELECT * FROM table_name WHERE ID ='1'AND ID ='2'

您是说:我想在同一天的下午5点去海滩滑雪。结果:不可能。您可以去海滩或滑雪。因此您的查询应如下所示:

SELECT * FROM table_name WHERE ID ='1'或ID ='2' 要么 SELECT * FROM table_name在(1,2)中的ID