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

标签 mysql syntax coldfusion

<分区>

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

SELECT *
FROM message_table
WHERE useridto = #session.userid# AND read = 0

我得到的错误告诉我:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read = '0'' at line 4"

而且我研究了 MySQL,检查了我过去做过的具有相同语法和工作的查询。我错过了一些简单的事情吗?

我可能应该提到 #session.userid# 确实输出正确,但事实并非如此。

最佳答案

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

An identifier may be quoted or unquoted. If an identifier contains special characters or is a reserved word, you must quote it whenever you refer to it
The identifier quote character is the backtick (“`”):

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

关于mysql - 这个MySQL语法的错误在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689734/

相关文章:

function - 为什么某些流行语言中的函数只返回一种类型的结果?

date - Coldfusion 获取下周一的日期

ssl - ColdFusion CFHTTP 和 SSL 证书

mysql - 如何选择特定时间段的记录?

html - 我可以在类定义中添加空格吗?

mysql - 如何在 Google App Engine 的免费帐户上设置 WordPress 网站

php - 这如何成为有效的 php 语法

coldfusion - ColdFusion 是否触发 CFEXECUTE 然后离开,还是等待 CFEXECUTE 完成?

mysql - 在mysql中分组和排序

c# - 使用 SqlDataReader 执行一系列 SQL 查询