我有这个查询,直到上个月为止都没有错误。
SELECT ..., (SELECT count(id) FROM table2) as rows FROM table1;
现在 MySQL 抛出这个错误:
语法错误或访问冲突:1064 您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在“rows [...]”附近使用的正确语法。
是因为rows
成为了MySQL的保留字吗?
我在无法检查和/或控制的机器上运行查询,所以我不知道原因是否可能是软件更新。
我有这个查询,直到上个月为止都没有错误。
SELECT ..., (SELECT count(id) FROM table2) as rows FROM table1;
现在 MySQL 抛出这个错误:
语法错误或访问冲突:1064 您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在“rows [...]”附近使用的正确语法。
是因为rows
成为了MySQL的保留字吗?
我在无法检查和/或控制的机器上运行查询,所以我不知道原因是否可能是软件更新。
我在做某件事时遇到了非常大的保留字列表。不过,我意识到这些词是以某种形式保留的,或者只是作为原始词保留的。如果在单词周围加上单引号,它们的行为会有所不同。我这样做了:
这个特定的查询很愚蠢,但它说明了这一点。
在MySQL 5.x中,
ROWS
是一个关键字,但不是保留的。MySQL 8.0 文档称它在 8.0.2 中已成为保留字。