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