为什么每次都需要在WHERE子句中定义表名



我在电脑上测试一个软件,上面安装了一个mysql。现在我已经把这个软件转移到服务器上了。没有任何mysql命令在中工作

例如,这是在我的计算机上运行的命令

SELECT COUNT(*) FROM camera WHERE stored=3;

当我尝试在我的服务器上执行它时,这是的结果

1064 - 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 'stored=3' at line 1

但是这个正在工作

SELECT COUNT(*) FROM camera WHERE camera.stored=3;

有没有什么方法可以在不需要定义表名的情况下恢复它?

Stored是MySQL保留字,因此MySQL认为您打算使用该保留字。

当你用表名来限定它时,它就知道你在说什么了。

更新:您可以将存储在后记号中的内容包装起来(如下所示(,这样它就被视为文本而不是保留字。

SELECT COUNT(*) FROM camera WHERE `stored`=3;

相关内容

  • 没有找到相关文章

最新更新