Mysql数据库因only_full_group_by导致group报错
最近工作中遇到了因only_full_group_by导致group报错的问题,记录了一下

解决方法:
进入Mysql数据库后台
select @@sql_mode;

set sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

select @@global.sql_mode;

set @@global.sql_mode=(select replace(@@global.sql_mode,'ONLY_FULL_GROUP_BY','')); #直接 set global.sql_mode='值';会报错

注:重启mysql数据库后会失效
如果需要永久生效,需要修改/etc/my.cnf文件(注意在[mysqld]字段下添加)
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

浙公网安备 33010602011771号