欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【mysql】sql语句分组查询遇到错误:this is incompatible with sql_mode=only_full_group_by,兼容性解决

程序员文章站 2022-07-13 10:11:09
...

【mysql】sql语句分组查询遇到错误:this is incompatible with sql_mode=only_full_group_by,兼容性解决

mysql5.7以上会出现这个问题,是因为默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”。


如果是直接在5.7的版本上开发,建议使用ANY_VALUE()函数。

select 
	t.category_no, any_value(t.game_name)
from 
	t_game t
group 
	t.category_no

改配置方法

  1. 第一种方法,临时,重启后失效
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
  1. 第二种方法,修改配置文件,永久生效
    打开 my.cnf 配置文件

分别在[mysqld]和[mysql]下面添加这段

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

重启数据库服务生效