欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql ONLY_FULL_GROUP_BY設(shè)置sql_mode無(wú)效排查問(wèn)題(windows)

 更新時(shí)間:2024年09月06日 11:34:15   作者:N_A_S_A  
這篇文章主要介紹了mysql ONLY_FULL_GROUP_BY設(shè)置sql_mode無(wú)效排查問(wèn)題(windows),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論