当前位置:   article > 正文

执行sql语句提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY......错误的解决办法

1055 - expression #2 of select list is not in group by clause and contains n

当我在navicat中执行sql语句时,出现错误提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘sh.sys_stay_info.organization_id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

在这里插入图片描述

一开始以为是数据库版本不兼容的问题,后来发现是因为别的原因。

MySQL 5.7.5及以上实现了对功能依赖的检测。如果启用了only_full_group_by SQL模式(在默认情况下是这样),那么MySQL就会拒绝选择列表、条件或顺序列表引用的查询,这些查询将引用组中未命名的非聚合列,而不是在功能上依赖于它们。(在5.7.5之前,MySQL没有检测到功能依赖项,only_full_group_by在默认情况下是不启用的。

解决办法

在dos命令窗口执行select @@sql_mode命令(我这个是已经修改过得,所以查询到的不一样,可以参考下面具体步骤)
在这里插入图片描述
会查询到:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,这些内容。

然后将前面的ONLY_FULL_GROUP_BY去掉,将后面的STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION在my.ini文件中进行配置。

如下图所示:
在这里插入图片描述

然后重启mysql服务就可以解决之前该问题了。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/899524
推荐阅读
相关标签
  

闽ICP备14008679号