MySQL 只能group全部字段解决方式

1,140 阅读1分钟

MySQL报错提示:sql_mode=only_full_group_by,MySQL聚合的模式是全部字段,只针对MySQL8以上版本,解决方式如下:

set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

这种方法只能在当前的MySQL启动环境中生效,重启后会失效,如果可以,应该修改MySQL的配置文件来设置。

my.cnf中进行配置

[mysqld]

sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"