MySQL错误提示:sql_mode=only_full_group_by完美解决方案

bangongJIAO1@c 发布于 2025-11-29 阅读(2)
目录
  • 前言
  • 1.查询数据库版本:
  • 2.查看sql_mode的语句:
  • 3.临时解决方案:
  • 4.永久解决方案:
  • 5重启数据库
  • 总结

前言

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]在下面增加:

MySQL错误提示:sql_mode=only_full_group_by完美解决方案

5重启数据库

service mysql restart

总结