我想知道为什么我的查询不起作用,我应该保留WHERE 1
原样;我之前已经多次使用它,但对于这个查询,它不起作用。
SELECT * FROM industries WHERE 1 AND IN id (11,8,1,2,3,4,5,6) ORDER BY position ASC
这是我得到的错误:
1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在第1行的“IN id(11,8,1,2,3,4,5,6)ORDER BY位置ASC LIMIT 0,30”附近使用< / p>
答案 0 :(得分:2)
SELECT * FROM industries WHERE id IN (11,8,1,2,3,4,5,6) ORDER BY position
不要使用WHERE 1
这里没有意义。它没用,因为它被评估为(总是) true
IN
的正确语法是WHERE <column> IN (list)
答案 1 :(得分:1)
SELECT * FROM industries WHERE 1 AND id IN (11,8,1,2,3,4,5,6) order by position;
答案 2 :(得分:0)
此查询应该有效:
SELECT * FROM industries WHERE id IN (11,8,1,2,3,4,5,6) ORDER BY position ASC
ASC是默认的,你可以只写
ORDER BY position