国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

MySQL出現this is incompatible with sql_mode=only_full_group_by錯誤的解決辦法

瀏覽:113日期:2023-02-18 16:43:52
目錄
  • 這個就是錯誤截圖
  • 出現原因: MySQL的版本問題
  • 解決辦法:兩種
    • 第一種:修改MySQL的配置文件
    • 第二種方法:修改自己的sql
  • 總結

    這個就是錯誤截圖

    出現原因: MySQL的版本問題

    MySQL 5.7.5以上版本,實現了對功能依賴的檢測。如果啟用了only_full_group_by SQL模式(默認啟用),那么MySQL就會拒絕執行 select list、HAVING condition或ORDER BY list引用既不在GROUP BY子句中被命名,也不在功能上依賴于GROUP BY列(由GROUP BY列唯一確定)的未聚合列的查詢。

    從MySQL5.7.5開始,默認的SQL模式包括only_full_group_by。(在5.7.5之前,MySQL沒有檢測到功能依賴項,only_full_group_by在默認情況下是不啟用的。關于前5.7.5行為的描述,請參閱MySQL 5.6參考手冊。)

    解決辦法:兩種

    第一種:修改MySQL的配置文件

    1. 連接數據庫 輸入下面命令,查詢sql的模式

    select @@sql_mode;

    2. 修改數據庫配置my.ini文件

    在你安裝數據庫的文件夾下的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服務

    備注:我個人覺得最好不用這樣吧 因為項目可能其他地方或許用到了這種模式,最好的方法是不要改動mysql的配置。正所謂能跑起來就不要動他的原理!

    第二種方法:修改自己的sql

    每個字段前加上any_value() 這種方法比較好 只需要修改sql 不會影響到其他問題

    修改前:

    SELECT	id AS a,	name  AS  b,    age AS cFROM	user

    修改后:

    SELECT	any_value(id)AS a,	any_value(name)AS  b,    any_value(age)AS cFROM	user

    總結

    到此這篇關于MySQL出現this is incompatible with sql_mode=only_full_group_by錯誤的解決辦法的文章就介紹到這了,更多相關this is incompatible with sql_mode=only_full_group_by內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: MySQL
    主站蜘蛛池模板: 电白县| 永清县| 枣强县| 卢龙县| 静安区| 马尔康县| 红河县| 斗六市| 兴安盟| 鹰潭市| 疏勒县| 加查县| 大新县| 宿州市| 白玉县| 武平县| 东兰县| 星座| 垦利县| 资阳市| 兴海县| 九寨沟县| 东辽县| 临海市| 射阳县| 碌曲县| 金阳县| 湘阴县| 菏泽市| 五华县| 绥芬河市| 宜黄县| 阳东县| 白城市| 武鸣县| 嘉峪关市| 宜都市| 宣化县| 淅川县| 东宁县| 简阳市|