WHERE子句附近的SQL语法错误

时间:2013-01-31 20:56:24

标签: mysql coldfusion coldfusion-9

有人能告诉我这个查询有什么问题吗?

<cfquery name="activesurveys">
      SELECT surveys.id,
             surveys.name,
             surveys.description,
      WHERE  surveys.active= 1
        AND  surveys.showinpubliclist= 1
     FROM 
             surveys
</cfquery>
<cfreturn activesurveys>

执行此代码时,会出现此错误:

  

“您的SQL语法有错误;请查看手册   对应于您的MySQL服务器版本,以便使用正确的语法   在'WHERE surveys.active = 1 AND surveys.showinpubliclist = 1'附近   4"

4 个答案:

答案 0 :(得分:7)

我认为你的查询应该是:

SELECT surveys.id,
    surveys.name,
    surveys.description
FROM surveys
WHERE surveys.active= 1
    AND surveys.showinpubliclist= 1

基本上,在您要选择的最后一个字段后面有一个,,这是错误的,并且FROMSELECT之后和WHERE之前的事实也是如此...

答案 1 :(得分:5)

您需要稍微重新整理您的陈述。 FROM需要在WHERE之前。并且在SELECT的最后一列之后还有一个额外的逗号。应该看起来像这样:

<cfquery name="activesurveys">
    SELECT surveys.id,
           surveys.name,
           surveys.description
    FROM  surveys
    WHERE surveys.active = 1
      AND surveys.showinpubliclist = 1
</cfquery>
<cfreturn activesurveys>

答案 2 :(得分:4)

我不知道ColdFusion,但SQL语法是

SELECT surveys.id,
       surveys.name,
       surveys.description
FROM 
       surveys
WHERE  surveys.active= 1
       AND surveys.showinpubliclist= 1

答案 3 :(得分:2)

从最后一个列名称“surveys.description”的末尾终止逗号,并在WHERE子句之前移动FROM语句。喜欢这个

SELECT colname, colname, colname
FROM tablename

WHERE condition...