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

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

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

mysql ONLY_FULL_GROUP_BY設(shè)置sql_mode無效排查

低版本的MYSQL環(huán)境中的Sql在MySQL8中報錯出現(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.臨時修改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)依舊無效,此時需檢測MySQL讀取的my.ini路徑是否正確。
  • 執(zhí)行下方SQL,查詢讀取my.ini路徑。
  • 如果發(fā)現(xiàn)此路徑下沒有my.ini文件需要手動新建一個my.ini文件。
show variables like 'datadir';

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論