码迷,mamicode.com
首页 > 数据库 > 详细

MySQL使用group by 报this is incompatible with sql_mod

时间:2018-08-21 16:32:41      阅读:524      评论:0      收藏:0      [点我收藏+]

标签:-o   oss   global   ror   sub   image   model   修改   roc   

下面是employee表的所有数据。
技术分享图片
使用group by 分组查询报错this is incompatible with sql_mode=only_full_group_by
技术分享图片
查看sql_model参数发现:
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

技术分享图片

ONLY_FULL_GROUP_BY选项开启,那么在使用group by时候, 只能select查询group by后面的选项,或者使用聚合函数。
只查询group by后面的列:
技术分享图片
使用聚合函数:
技术分享图片
但以上两种方法不推荐!!!
推荐解决方法:
1.临时,重启mysql会失效
技术分享图片
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
2.修改/etc/my.cnf
[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即可生效。
技术分享图片

MySQL使用group by 报this is incompatible with sql_mod

标签:-o   oss   global   ror   sub   image   model   修改   roc   

原文地址:http://blog.51cto.com/13659661/2162475

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!