Mysql查询失败铺设了我

时间:2012-04-15 12:43:48

标签: php mysql sql database

在我升级服务器上的mysql版本之前,一切正常。

但是现在它给出错误并显示查询失败。我在代码中没有改变任何内容。

SELECT id,frequency,speed FROM signal where active='Y'

它在from子句中显示错误。为什么会发生这种情况?

2 个答案:

答案 0 :(得分:2)

显然,

SIGNALMySQL reserved word。将它包含在反引号中。

SELECT id,frequency,speed FROM `signal` where active='Y'

每当我在FROM子句或其他地方遇到错误时,我都不希望查询在语法上是正确的,我查阅保留字列表以查找我不知道保留的内容(并且我承认我不知道SIGNAL被保留,直到我检查了清单。)

SIGNAL被添加时,一些研究尚未确定,但我怀疑它是在MySQL 5.5中。

答案 1 :(得分:2)

似乎你在Mysql 5.5中升级了,SIGNAL在Mysql 5.5中是新的reserved keywordEscape您的表名称信号在查询中带有反引号(`)

尝试以下:

 SELECT id,frequency,speed FROM `signal` where active='Y'