mysql ONLY_FULL_GROUP_BY設(shè)置sql_mode無(wú)效排查問(wèn)題(windows)
mysql ONLY_FULL_GROUP_BY設(shè)置sql_mode無(wú)效排查
低版本的MYSQL環(huán)境中的Sql在MySQL8中報(bào)錯(cuò)出現(xiàn)
this is incompatible with sql_mode=only_full_group_by
由于開(kāi)啟了ONLY_FULL_GROUP_BY的設(shè)置,如果select 的字段不在 group by 中,
并且select 的字段未使用聚合函數(shù)(SUM,AVG,MAX,MIN等)的話(huà),那么這條sql查詢(xún)是被mysql認(rèn)為非法需。
要對(duì)MySQL8中sql_mode進(jìn)行設(shè)置。
1.查詢(xún)SQLMODE
select @@GLOBAL.sql_mode;
2.臨時(shí)修改sql-mode執(zhí)行SQL
SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
注:
此辦法全局生效,如果以創(chuàng)建的表空間依舊無(wú)效,需要切換到對(duì)應(yīng)的表空間,再次執(zhí)行修改sql-mode
use database_name; SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
以上執(zhí)行后請(qǐng)執(zhí)行刷新??????
flush privileges;
3.永久修改sql-mode
用記事本直接打開(kāi)my.ini文件,在文件中增加以下配置,再重啟mysql服務(wù)。
# Set the SQL mode to strict # sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION" sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
注1:
- 如果使用記事本編輯保存后,可能會(huì)啟動(dòng)失敗,需要檢查文件編碼格式,
- 記事本默認(rèn)編碼格式UTF-8,my.ini文件需要ANSI格式,建議直接另存為覆蓋文件。
注2:
- 按上述辦法修改my.ini文件后重啟MySQL發(fā)現(xiàn)依舊無(wú)效,此時(shí)需檢測(cè)MySQL讀取的my.ini路徑是否正確。
- 執(zhí)行下方SQL,查詢(xún)讀取my.ini路徑。
- 如果發(fā)現(xiàn)此路徑下沒(méi)有my.ini文件需要手動(dòng)新建一個(gè)my.ini文件。
show variables like 'datadir';
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 詳解MySQL的sql_mode查詢(xún)與設(shè)置
- MySQL配置sql_mode的參數(shù)屬性作用
- mysql5.7版本因?yàn)閟ql_mode設(shè)置導(dǎo)致的問(wèn)題以及解決
- 如何解決MySQL?this?is?incompatible?with?sql_mode=only_full_group_by問(wèn)題
- MySQL?中的?SQL_MODE?設(shè)置方法ANSI_QUOTES?選項(xiàng)解析與應(yīng)用小結(jié)
- MySQL報(bào)錯(cuò)sql_mode=only_full_group_by的問(wèn)題解決
- 淺談mysql的sql_mode可能會(huì)限制你的查詢(xún)
相關(guān)文章
mysql備份策略的實(shí)現(xiàn)(全量備份+增量備份)
最近項(xiàng)目需要對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行備份,通過(guò)查閱各種資料,設(shè)計(jì)了一套數(shù)據(jù)庫(kù)備份策略,本文就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下2021-07-07MYSQL建立外鍵失敗幾種情況記錄Can''t create table不能創(chuàng)建表
當(dāng)你試圖在mysql中創(chuàng)建一個(gè)外鍵的時(shí)候,這個(gè)出錯(cuò)會(huì)經(jīng)常發(fā)生,這是非常令人沮喪的。2011-08-08MySql中modify、rename、change的使用及區(qū)別
這篇文章主要介紹了MySql中modify、rename、change的使用及區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06MySQL中幾種數(shù)據(jù)統(tǒng)計(jì)查詢(xún)的基本使用教程
這篇文章主要介紹了幾種MySQL中數(shù)據(jù)統(tǒng)計(jì)查詢(xún)的基本使用教程,包括平均數(shù)和最大最小值等的統(tǒng)計(jì)結(jié)果查詢(xún)方法,是需要的朋友可以參考下2015-12-12詳解MySQL數(shù)據(jù)庫(kù)設(shè)置主從同步的方法
最近一直在研究mysql的主從同步問(wèn)題,現(xiàn)在網(wǎng)上也有很多資料,現(xiàn)在感覺(jué)寫(xiě)的都很好(當(dāng)初感覺(jué)寫(xiě)的很差,是因?yàn)樽约旱念I(lǐng)悟較差),于是想跟大家分享一下自己配置的整個(gè)過(guò)程和經(jīng)驗(yàn)。有需要的朋友歐美可以參考借鑒,感興趣的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11MySQL下載安裝、配置與使用教程詳細(xì)版(win7x64)
這篇文章主要為大家詳細(xì)介紹了MySQL下載安裝、配置與使用的具體操作教程,很詳細(xì),感興趣的小伙伴們可以參考一下2016-05-05MySQL使用ReplicationConnection導(dǎo)致連接失效解決
這篇文章主要為大家介紹了MySQL使用ReplicationConnection導(dǎo)致連接失效問(wèn)題分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07MySQL數(shù)據(jù)庫(kù)表修復(fù) MyISAM
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)表修復(fù) MyISAM ,需要的朋友可以參考下2014-06-06Mysql存儲(chǔ)引擎MyISAM的常見(jiàn)問(wèn)題(表?yè)p壞、無(wú)法訪(fǎng)問(wèn)、磁盤(pán)空間不足)
這篇文章主要介紹了Mysql存儲(chǔ)引擎MyISAM的常見(jiàn)問(wèn)題,針對(duì)表?yè)p壞、無(wú)法訪(fǎng)問(wèn)、磁盤(pán)空間不足等問(wèn)題進(jìn)行解決,感興趣的小伙伴們可以參考一下2016-05-05mysql數(shù)據(jù)庫(kù)中1045錯(cuò)誤的解決方法
這篇文章主要為大家詳細(xì)介紹了MySQL數(shù)據(jù)庫(kù)中1045錯(cuò)誤的解決方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12