代码之家  ›  专栏  ›  技术社区  ›  AlastairG

为什么我不能再使用MySQL 8.0从表“组”中选择数据

  •  0
  • AlastairG  · 技术社区  · 4 年前

    今天我不得不重建我们的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”作为关键字。我希望能得到一些帮助。

    0 回复  |  直到 4 年前
        1
  •  1
  •   AlastairG    4 年前

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

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

    推荐文章