mysql高版本(8.0+)group_by报错的处理方法

mysql高版本8.0+ group_by报错的处理方法

    • 1. 原因
    • 2. 处理方法
      • 2.1 临时方法,重启后失效
      • 2.2 修改配置my.ini文件

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 修改配置my.ini文件

在[mysqld]下面添加以下代码

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

你可能感兴趣的:(Mysql,mysql,数据库)