mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。

错误提示:this is incompatible with sql_mode=only_full_group_by

1.查询数据库版本:

SELECT VERSION();

2.查看sql_mode的语句:

select @@GLOBAL.sql_mode;

3.临时解决方案:

去掉ONLY_FULL_GROUP_BY,重新设置值。

SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

4.永久解决方案:

Linux下修改mysql的my.cnf配置文件

vi /etc/my.cnf

找到my.cnf中的[mysqld]在下面增加:

5重启数据库

service mysql restart

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐