执行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......错误的解决办法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
當(dāng)我在navicat中執(zhí)行sql語(yǔ)句時(shí),出現(xiàn)錯(cuò)誤提示[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
一開(kāi)始以為是數(shù)據(jù)庫(kù)版本不兼容的問(wèn)題,后來(lái)發(fā)現(xiàn)是因?yàn)閯e的原因。
MySQL 5.7.5及以上實(shí)現(xiàn)了對(duì)功能依賴的檢測(cè)。如果啟用了only_full_group_by SQL模式(在默認(rèn)情況下是這樣),那么MySQL就會(huì)拒絕選擇列表、條件或順序列表引用的查詢,這些查詢將引用組中未命名的非聚合列,而不是在功能上依賴于它們。(在5.7.5之前,MySQL沒(méi)有檢測(cè)到功能依賴項(xiàng),only_full_group_by在默認(rèn)情況下是不啟用的。
解決辦法
在dos命令窗口執(zhí)行select @@sql_mode命令(我這個(gè)是已經(jīng)修改過(guò)得,所以查詢到的不一樣,可以參考下面具體步驟)
會(huì)查詢到:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,這些內(nèi)容。
然后將前面的ONLY_FULL_GROUP_BY去掉,將后面的STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION在my.ini文件中進(jìn)行配置。
如下圖所示:
然后重啟mysql服務(wù)就可以解決之前該問(wèn)題了。
總結(jié)
以上是生活随笔為你收集整理的执行sql语句提示[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY......错误的解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: windows10下同时安装两个mysq
- 下一篇: 如何将本地项目上传至git中进行管理的解