我的环境:centOS7 ,mysql8.0
今天调试程序碰到如下问题
Expression #14 of SELECT list is not in GROUP BY clause and contains nonaggregated column
which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
网上的大部分解法是修改/etc/my.cnf
增加如下(把select @@global_sql_mode 查出来的only_full_group_by去掉,保留如下)
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
有的朋友确实可以通过增加这个,重启mysql服务后,能正常使用。
我这个试了不行,但是把STRICT_TRANS_TABLES也要去掉,就可以了,只保留如下
NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
程序就OK了
ps:修改配置文件这个是永久有效的。
通过select @@global_sql_mode 查出来,在set @@global_sql_mode 重启服务就失效了