我有这个问题:
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由于某种原因不再存在。
答案 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
相同