Mysql5.7或以上版本注意事项
创建于 2022-07-08 / 最近更新于 2022-07-08 /
2153
字体:
[默认]
[大]
[更大]
由于Mysql 5.7或8.0以上版本对 GROUP BY 语法进行了调整,PESCMS部分软件会在上述版本的数据库下出现错误。要解决此问题可以参考如下方法:
一、查看sql_mode
登录数据库,执行如下语句获取当前数据库的sql_mode设置。
SELECT @@sql_mode
根据执行的结果,检查语句结果是否包含ONLY_FULL_GROUP_BY字眼。如图所示:
二、修改SQL的配置
打开Mysql安装目录,找到my.ini (windows) 或者 my.cnf (linux) 文件(请依据自己软件环境进行定位),使用编辑器打开配置文件。
配置文件存在sql_mode
一般来说,配置文件会包含如下代码:
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY
若存在上述的代码,将ONLY_FULL_GROUP_BY移除。然后重启Mysql即可。
配置文件没有sql_mode
若不存在,则在当前配置文件任意位置,添加上述语句即可。
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
保存并重启Mysql即可。
三、确认成功修改sql_mode
再次登录数据库,执行步骤一的sql语句,确认sql_mode修改成功了。如图所示:
现在我们在运行PESCMS程序,会发现错误不在出现了。
21 人点赞过