为什么我不能再使用 MySQL 8.0 select 来自 table "groups" 的数据

Why can I no longer select data from table "groups" with 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

相同的查询适用于任何其他 table,只是不适用于“组”。我筋疲力尽,没有精力解决这个问题。我猜 MySQL 8.0 引入了“GROUPS”作为关键字。我将不胜感激。

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

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