Mysql5.7 出現 this is incompatible with sql_mode=only_full_group_by 解決方案

問題描述

今天寫了一個sql 執行的時候遇到了this is incompatible with sql_mode=only_full_group_by。

原因分析

通過查閱資料發現是因爲下載安裝的是最新版的mysql5.7.x版本,默認是開啓了 only_full_group_by 模式的,但開啓這個模式後,原先的類似 group by語句就報錯,然後又把它移除了。就可以了。

解決方案

第一個方案

  • 在您的數據庫中執行
SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

第二個方案

當第一個沒有效果的時候你就需要嘗試第二種。首先找你你的免安裝mysql 文件路徑。當然打開my.ini 文件 添加剛纔的配置到文件中如下:

[mysql]
default-character-set=utf8
[mysqld]
port = 3306
# Binary Logging
log-bin=mysql-bin
binlog-format=Row
#Server ID
server-id=201901
#basedir=D:\MySQL\mysql-5.7.14-winx64
#datedir=D:\MySQL\mysql-5.7.14-winx64\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
skip-grant-tables
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTI

然後保存退出。重啓啓動mysql 服務。在您的數據庫執行
SELECT @@global.sql_mode 發現沒有ONLY_FULL_GROUP_BY 這個模式。
這時候你在執行你的sql 就發現愛沒問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章