盘古BPM体验地址    盘古BPM交流群盘古BPM交流群号:963222735

彻底解决mysql命令报错:this is incompatible with sql_mode=only_full_group_by

分享牛 6406℃

    摘要:Mysql在5.7+以后的版本中,如果在SELECT中的列没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中,也就是说查出来的列必须在group by后面或者这个字段出现在聚合函数里面。,如果我们没有任何设置的话,通常会报如下的错误信息,com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'flowable.arp.NAME_' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by。

1.首先查看mysql版本命令:select version();

2.查看sql_model参数命令:

SELECT @@GLOBAL.sql_mode;

SELECT @@SESSION.sql_mode;

发现:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_pISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

第一项默认开启ONLY_FULL_GROUP_BY,


3.解决方法:编辑mysql配置文件 my.cnf

在 [mysqld]下添加

[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

重启mysql即可




转载请注明:分享牛 » 彻底解决mysql命令报错:this is incompatible with sql_mode=only_full_group_by