为什么我的查询不起作用?

时间:2014-02-06 22:27:59

标签: mysql sql phpmyadmin

我想知道为什么我的查询不起作用,我应该保留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>

3 个答案:

答案 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)

  1. 此查询应该有效:

    SELECT * FROM industries WHERE id IN (11,8,1,2,3,4,5,6) ORDER BY position ASC
    
  2. ASC是默认的,你可以只写

     ORDER BY position