mysql高版本8.0+ group_by报错的处理方法
- 1. 原因
- 2. 处理方法
- 2.1 临时方法,重启后失效
- 2.2 修改配置文件
1. 原因
这个错误一般发生在mysql 5.7以及 5.7以上的版本中,其原因是mysql的默认配置中,sql_mode=“ONLY_FULL_GROUP_BY” 这个配置严格执行了 ‘SQL92标准’,查询字段没有在group by 字段后同时出现,那么sql语句就不合法,就会抛出错误
2. 处理方法
连接mysql库,执行一下语句,查看sql_mode
select @@GLOBAL.sql_mode;
2.1 临时方法,重启后失效
SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';
2.2 修改配置文件
在[mysqld]下面添加以下代码
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION