首页 > 解决方案 > 为什么我不能再使用 MySQL 8.0 从表“组”中选择数据

问题描述

今天我不得不重建我们的 BugZilla 安装。这很痛苦,主要是因为我无意中从 MySQL 5.7 升级到了 MySQL 8.0。现在 BugZilla 正在报告 SQL 语法错误。为了调试它,我使用 MySQl 客户端直接连接到数据库并运行以下查询:

SELECT * FROM groups;

这会导致错误:

ERROR 1064 (42000): 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 'groups' at line 1

相同的查询适用于任何其他表,而不是“组”。我筋疲力尽,没有精力解决这个问题。我猜 MySQL 8.0 引入了“GROUPS”作为关键字。我会很感激一些帮助。

标签: mysql-8.0

解决方案


经调查发现,MySQL 8.0 确实引入了“groups”作为关键字,BugZilla 需要修改为在所有地方引用表名。不幸的是,数据库代码在许多不同类型的数据库之间共享,这些数据库都使用不同的字符来引用表名。

我的最终解决方案是改用 PostgreSQL。


推荐阅读