这个MySQL语法中的错误在哪里?

sea*_*ean 1 mysql syntax coldfusion

我已经坐了好几个小时试图找到ColdFusion告诉我的MySQL语法问题,但我看不到它.这是我的查询:

SELECT *
FROM message_table
WHERE useridto = #session.userid# AND read = 0
Run Code Online (Sandbox Code Playgroud)

我得到的错误告诉我:

"您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在第4行的'read ='0''附近使用正确的语法"

我已经研究过MySQL,检查了我已经完成的具有IDENTICAL语法和工作的查询.我错过了一些简单的事吗?

我应该提一下#session.userid#输出是否合适,所以不是那样.

Mik*_*wis 6

read 是MySQL中的保留关键字:

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

这也可能导致问题.我会更改您的列名或执行以下操作:

SELECT *
FROM message_table
WHERE useridto = #session.userid# AND `read` = 0
Run Code Online (Sandbox Code Playgroud)

可以引用或不引用标识符.如果标识符包含特殊字符或是保留字,则每当引用它时都必须引用它
.标识符引号字符是反引号("`"):

per:http://dev.mysql.com/doc/refman/5.5/en/identifiers.html