此前mysql数据库一直用的是5.6版本,现在使用5.7版本;
-- 进入数据库:mysql -u mysql -p
-- 查看数据库版本:select version();
-- 异常问题是:
nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'cls.tga.ga_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
-- 解决这个问题如下:
首先查询:select @@sql_code
结果如下:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
解决方案如下:
set global 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下面的my.cnf文件
添加:sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
之后一定重启数据库
停止数据库:
service mysqld stop
启动数据库:service mysqld start
记录下来,避免同样的问题在花费时间
本文介绍如何解决MySQL 5.7版本中出现的only_full_group_by问题,包括调整sql_mode设置的方法及配置文件修改步骤。
1423

被折叠的 条评论
为什么被折叠?



