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"