查询未得到正确的记录

时间:2011-04-16 12:48:29

标签: mysql sql

我有这个问题:

SELECT id, name FROM users
WHERE ((id = 1) OR (5 <= 5))

这会导致所有记录为5 = 5,但事实并非如此。它只是id = 1的结果记录。

我做错了什么?

编辑: 这是完整的查询:

SELECT project_id, project_name, project_description, project_active, 
            users.user_firstname, users.user_lastname FROM projects 
            INNER JOIN users ON projects.user_id = users.user_id 
            WHERE (projects.user_id = 1 || 3 <= 3)

编辑: 发现它= / 加入有些问题; user_id由于某种原因不再存在。

3 个答案:

答案 0 :(得分:0)

那么您希望所有记录都小于或等于5吗?

如果是这样的唯一

SELECT id, name FROM users
WHERE id <= 5

除此之外

(5 <= 5)

是“5”表格行,如id?

答案 1 :(得分:0)

这样做

$q = ("SELECT id, name FROM users WHERE id = 1 || 5 <= 5");

我就是这样做的。

答案 2 :(得分:0)

尝试:

EXPLAIN EXTENDED SELECT id, name FROM users where id=1 or 5<=5;

SHOW WARNINGS;
你会发现mysql执行的查询是:

SELECT id,name FROM users where 1

只是意味着(id = 1或5&lt; = 5)与1

相同