MySQL出現(xiàn)this?is?incompatible?with?sql_mode=only_full_group_by錯(cuò)誤的解決辦法
這個(gè)就是錯(cuò)誤截圖
出現(xiàn)原因: MySQL的版本問題
MySQL 5.7.5以上版本,實(shí)現(xiàn)了對(duì)功能依賴的檢測(cè)。如果啟用了only_full_group_by SQL模式(默認(rèn)啟用),那么MySQL就會(huì)拒絕執(zhí)行 select list、HAVING condition或ORDER BY list引用既不在GROUP BY子句中被命名,也不在功能上依賴于GROUP BY列(由GROUP BY列唯一確定)的未聚合列的查詢。
從MySQL5.7.5開始,默認(rèn)的SQL模式包括only_full_group_by。(在5.7.5之前,MySQL沒有檢測(cè)到功能依賴項(xiàng),only_full_group_by在默認(rèn)情況下是不啟用的。關(guān)于前5.7.5行為的描述,請(qǐng)參閱MySQL 5.6參考手冊(cè)。)
解決辦法:兩種
第一種:修改MySQL的配置文件
1. 連接數(shù)據(jù)庫 輸入下面命令,查詢sql的模式
select @@sql_mode;
2. 修改數(shù)據(jù)庫配置my.ini文件
在你安裝數(shù)據(jù)庫的文件夾下的my.ini文件
增加一行代碼:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
3. 重啟MySQL服務(wù)
備注:我個(gè)人覺得最好不用這樣吧 因?yàn)轫?xiàng)目可能其他地方或許用到了這種模式,最好的方法是不要改動(dòng)mysql的配置。正所謂能跑起來就不要?jiǎng)铀脑恚?/p>
第二種方法:修改自己的sql
每個(gè)字段前加上any_value() 這種方法比較好 只需要修改sql 不會(huì)影響到其他問題
修改前:
SELECT id AS a, name AS b, age AS c FROM user
修改后:
SELECT any_value(id)AS a, any_value(name)AS b, any_value(age)AS c FROM user
總結(jié)
到此這篇關(guān)于MySQL出現(xiàn)this is incompatible with sql_mode=only_full_group_by錯(cuò)誤的解決辦法的文章就介紹到這了,更多相關(guān)this is incompatible with sql_mode=only_full_group_by內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql 8.0 找不到my.ini配置文件以及報(bào)sql_mode=only_full_group_by解決方案
- 解決MySQL this is incompatible with sql_mode=only_full_group_by 問題
- MySQL配置sql_mode的參數(shù)屬性作用
- Mysql8報(bào)錯(cuò)this is incompatible with sql_mode=only_full_group_by問題
- mysql怎么關(guān)閉sql_mode=ONLY_FULL_GROUP_BY模式
- mysql8中如何設(shè)置sql-mode
- MySQL報(bào)錯(cuò):sql_mode=only_full_group_by的4種輕松解決方法(含舉例)
- MySQL?中的?SQL_MODE?設(shè)置方法ANSI_QUOTES?選項(xiàng)解析與應(yīng)用小結(jié)
相關(guān)文章
MySQL中導(dǎo)出用戶權(quán)限設(shè)置的腳本分享
這篇文章主要介紹了MySQL中導(dǎo)出用戶權(quán)限設(shè)置的腳本分享,本文通過導(dǎo)出mysql.user表中數(shù)據(jù)實(shí)現(xiàn)導(dǎo)出權(quán)限設(shè)置,需要的朋友可以參考下2014-10-10Mysql導(dǎo)入導(dǎo)出工具M(jìn)ysqldump和Source命令用法詳解
Mysql本身提供了命令行導(dǎo)出工具M(jìn)ysqldump和Mysql Source導(dǎo)入命令進(jìn)行SQL數(shù)據(jù)導(dǎo)入導(dǎo)出工作,通過Mysql命令行導(dǎo)出工具M(jìn)ysqldump命令能夠?qū)ysql數(shù)據(jù)導(dǎo)出為文本格式(txt)的SQL文件,通過Mysql Source命令能夠?qū)QL文件導(dǎo)入Mysql數(shù)據(jù)庫中,下面通過Mysql導(dǎo)入導(dǎo)出SQL實(shí)例詳解Mysqldump和Source命令的用法2012-09-09解決MySQL this is incompatible with s
本文主要介紹了解決MySQL this is incompatible with sql_mode=only_full_group_by 問題,出現(xiàn)這個(gè)問題是因?yàn)?對(duì)于GROUP BY操作,如果在SELECT中的列,沒有在GROUP BY中出現(xiàn),那么這個(gè)SQL是不合法的,因?yàn)榱胁辉贕ROUP BY從句中,下面就來了解一下2024-08-08實(shí)現(xiàn)MySQL回滾的Python腳本的編寫教程
這篇文章主要介紹了實(shí)現(xiàn)MySQL回滾的Python腳本的編寫教程,文中的回滾針對(duì)的是DELETE語句的數(shù)據(jù)庫誤操作,需要的朋友可以參考下2015-11-11MySQL 關(guān)于表復(fù)制 insert into 語法的詳細(xì)介紹
本篇文章是對(duì)MySQL中關(guān)于表復(fù)制insert into語法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07