问题说明
报这个错误是指,在查询分组时展示了非分组字段。举例:
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
添加完成后的样子:文章来源:https://uudwc.com/A/zkAna
[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分钟…文章来源地址https://uudwc.com/A/zkAna