为什么我每次都需要在 WHERE 子句中定义 table 名称?
Why i need to define table name everytime in WHERE clause?
我在我的电脑上测试一个软件,我在上面安装了一个 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;
有什么方法可以在不需要定义 table 名称的情况下恢复它吗?
Stored 是一个 MySQL 保留字,因此 MySQL 认为您打算使用该保留字。
当您用 Table 名称限定它时,它就会知道您在说什么。
更新:您可以将存储在反引号中换行(如下所示),这样它就被视为文本而不是保留字。
SELECT COUNT(*) FROM camera WHERE `stored`=3;
我在我的电脑上测试一个软件,我在上面安装了一个 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;
有什么方法可以在不需要定义 table 名称的情况下恢复它吗?
Stored 是一个 MySQL 保留字,因此 MySQL 认为您打算使用该保留字。
当您用 Table 名称限定它时,它就会知道您在说什么。
更新:您可以将存储在反引号中换行(如下所示),这样它就被视为文本而不是保留字。
SELECT COUNT(*) FROM camera WHERE `stored`=3;