为什么我不能再使用 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。
今天我不得不重建我们的 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。