mysql-8.0 - 为什么我不能再使用 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 确实引入了“groups”作为关键字,BugZilla 需要修改为在所有地方引用表名。不幸的是,数据库代码在许多不同类型的数据库之间共享,这些数据库都使用不同的字符来引用表名。
我的最终解决方案是改用 PostgreSQL。
推荐阅读
- python - matplotlib 标题和轴刻度线,不适用于 5D np 数组(但可以使用 3D 数组)
- jquery - 使用 JQuery 在表中隐藏特定的 asp.net 按钮
- excel - 在 Excel VBA 中关闭表单时,QueryClose 是保护工作表的正确方法吗?
- python-3.x - 如何使用python将word docx转换为图像
- firebase - 在 React-Native 中,如何在用户安装应用但未登录或注册时发送通知?
- python - 如何清理所有列都变成一列并且我们无法访问单个列及其值的数据框?
- java - 第 n 次避免 switch 语句
- angularjs - 使用 IDM 的角度处理发布请求
- javascript - Video.js 格式 .mpd .m3u8 不支持和折旧消息
- python - Using TEI XML parser in a loop