问题:only_full_group_by
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题:only_full_group_by相关的知识,希望对你有一定的参考价值。
错误原因:mysql 5.7 版本及以上版本默认的sql配置: sql_mode中包含 "ONLY_FULL_GROUP_BY" 这个配置严格执行了 "SQL92标准"。 所以数据库的升级有可能会导致本地的sql执行报错。
解决方案: 1.优化sql,使其符合"SQL92标准" 2.去掉 "ONLY_FULL_GROUP_BY" 这个配置
1.查看sql_model语句
select @@GLOBAL.sql_mode;
暂时性去掉ONLY_FULL_GROUP_BY
set @@GLOBAL.sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
永久性去掉ONLY_FULL_GROUP_BY
修改mysql配置文件,my.cnf位于etc文件夹下,vim下添加sql_mode如下:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
修改完成后,重启mysql服务。
以上是关于问题:only_full_group_by的主要内容,如果未能解决你的问题,请参考以下文章
only_full_group_by : "ORDER BY 子句不在 GROUP BY 子句中"
MySQL报错:sql_mode=only_full_group_by 4种解决方法含举例,轻松解决ONLY_FULL_GROUP_BY的报错问题
MySQL sql_mode=only_full_group_by错误
在 HeidiSQL 中执行查询时与 only_full_group_by 相关的错误