MySQL报错this is incompatible withsal mode=only full group by处理办法

问题说明

报这个错误是指,在查询分组时展示了非分组字段。举例:

select id , user_name from user group by user_name;

上述语句查询id和user_name字段,其中user_name进行了分组,id并没有分组,这时候mysql就会报上述错误。

解决方案

其它博文中说了很多方法,我这里写最实用的。
在mysql安装目录下找到my.ini文件,win系统mysql安装版不知道有没有。
我一般都是解压版mysql然后初始化安装,所以这个my.ini文件是一定有的。
配置文件会是如下格式:

[mysqld]
配置...
[mysql]
配置...
[client]
配置...

[mysqld]下添加sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
添加后可以关闭only_full_group_by
添加完成后的样子:

[mysqld]
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
其它配置....
[mysql]
配置...
[client]
配置...

容易犯错问题

添加位置错误,注意一定是在[mysqld]下。
…我随便复制到了[mysql]下,怎么重启mysql服务都不生效,这事情折腾我20分钟…

猜你喜欢

转载自blog.csdn.net/weixin_44223509/article/details/132853308