如果condition参数为null,则选择所有行

时间:2014-06-16 12:57:23

标签: mysql select conditional-statements where

所有行

SELECT * FROM table

一行

SELECT * FROM table WHERE id = 3

我想获得所有行,我怎么能得到?

示例

SELECT * FROM table WHERE id = 0

3 个答案:

答案 0 :(得分:2)

如果要获取参数为0的所有行,请使用:

SELECT * FROM table WHERE id = ? OR ? = 0;

我希望这就是你想要的。

答案 1 :(得分:1)

您的问题有点不清楚,但我想您正在寻找一种方法来选择所有ID,以防给定的id参数为零。

SELECT * FROM mytable WHERE id = @id OR @id = 0;

或者使用NULL而不是零:

SELECT * FROM mytable WHERE id = @id OR @id IS NULL;

答案 2 :(得分:1)

可能:

$query = 'SELECT * FROM table';

if (isset ($id)) {
  $query .= " WHERE id = $id";
}