在我在服务器上升级我的 mysql 版本之前,一切正常。
但现在它给出错误并显示查询失败。我没有改变任何代码。
SELECT id,frequency,speed FROM signal where active='Y'
它在 from 子句中显示错误。为什么会发生这种情况?
SIGNAL
显然是MySQL 的保留字。将其括在反引号中。
SELECT id,frequency,speed FROM `signal` where active='Y'
每当我在FROM
子句或其他地方遇到错误时,当查询似乎在语法上正确时,我会查阅保留字列表以查找我不知道已保留的内容(并且我承认我不知道SIGNAL
已保留直到我检查了列表)。
一些研究尚未确定何时SIGNAL
添加,但我怀疑它是在 MySQL 5.5 中。
似乎您在 Mysql5.5 中升级,是 Mysql5.5SIGNAL
中的新保留关键字。
您的表名在查询中Escape
带有反引号(`) 。
试试下面:
SELECT id,frequency,speed FROM `signal` where active='Y'