解决mysql查询问题:this is incompatible with sql_mode=only_full_group_by

mysql5.7版本以后,group by的规则有点变化。

首先查看sql_mode的值

select @@GLOBAL.sql_mode;

结果为:

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

然后在mysql的配置文件,Windows是在my.ini文件里面进行修改。

在[mysqld]的最后一行添加


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服务即可。

用管理员身份启动cmd,输入关闭和启动mysql的命令即可。

net stop mysql

net start mysql

你可能感兴趣的:(数据库)