this is incompatible with sql_mode=only_full_group_by
2017-07-29 00:00
337 查看
摘要: ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'kjwl.a.description' which is not functionally dependent on columns in GROUP BY clause; this is incompatible w
项目换了个数据库报错:
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'kjwl.a.description' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
主要因为某些 sql group by 语句写得不规范,且数据库设置语法规则比较严格的时候会报错。如果不想改 sql 语句则要改 mysql 的设置:
sql_mode 中去掉 only_full_group_by 项。
可以在 mysql 命令行下输入 SELECT @@sql_mode; 查看当前 sql_mode 有哪些设置。
然后可以执行:
set @@GLOBAL.sql_mode='';
set 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 的配置文件中,默认是 /etc/my.cnf
在 [mysqld] 项下增加(只要里面没有only_full_group_by 就行了)
# to solve problem: this is incompatible with sql_mode=only_full_group_by
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
网上还有说增加的项写成像执行命令的语句一样,但我用自己的版本试则启动失败,用上面那种方式就可以。
参考(有改动):http://www.cnblogs.com/jim2016/p/6322703.html
项目换了个数据库报错:
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'kjwl.a.description' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
主要因为某些 sql group by 语句写得不规范,且数据库设置语法规则比较严格的时候会报错。如果不想改 sql 语句则要改 mysql 的设置:
sql_mode 中去掉 only_full_group_by 项。
可以在 mysql 命令行下输入 SELECT @@sql_mode; 查看当前 sql_mode 有哪些设置。
然后可以执行:
set @@GLOBAL.sql_mode='';
set 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 的配置文件中,默认是 /etc/my.cnf
在 [mysqld] 项下增加(只要里面没有only_full_group_by 就行了)
# to solve problem: this is incompatible with sql_mode=only_full_group_by
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
网上还有说增加的项写成像执行命令的语句一样,但我用自己的版本试则启动失败,用上面那种方式就可以。
参考(有改动):http://www.cnblogs.com/jim2016/p/6322703.html
相关文章推荐
- mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by
- MySQL Error this is incompatible with sql_mode=only_full_group_by
- mysql5.7 命令gruop by报错 this is incompatible with sql_mode=only_full_group_by
- this is incompatible with sql_mode=only_full_group_by
- MySQL分组查询时出现错误SELECT list is not in GROUP BY ;this is incompatible with sql_mode=only_full_group_by
- mysql 5.7 this is incompatible with sql_mode=only_full_group_by 问题
- 解决MySQL 5.7.9版本sql_mode=only_full_group_by问题,this is incompatible with sql_mode=only_full_group_by错误
- mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by
- 报错:this is incompatible with sql_mode=only_full_group_by
- 解决:mysql 5.7.9 [Err] 1055 ...this is incompatible with sql_mode=only_full_group_by
- mysql5.7建表时报错clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by
- SELECT list is not in GROUP BY clause and contains nonaggregated column this is incompatible with sql_mode=only_full_group_by
- mysql5.7.9新特性this is incompatible with sql_mode=only_full_group_by
- mysql语法错误:this is incompatible with sql_mode=only_full_group_by
- this is incompatible with sql_mode=only_full_group_by
- [置顶] 【mysql 使用错误解决】this is incompatible with sql_mode=only_full_group_by
- 解决 this is incompatible with sql_mode=only_full_group_by Details 问题 3ff0
- [mysql] incompatible with sql_mode=only_full_group_by
- mysql5.7 upgrade issue GROUP BY incompatible with sql_mode=only_full_group_by
- incompatible with sql_mode=only_full_group_by