执行sql语句提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY......错误的解决办法
生活随笔
收集整理的這篇文章主要介紹了
执行sql语句提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY......错误的解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當我在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服務就可以解決之前該問題了。
總結
以上是生活随笔為你收集整理的执行sql语句提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY......错误的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows10下同时安装两个mysq
- 下一篇: 如何将本地项目上传至git中进行管理的解