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

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

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

瀏覽:141日期: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
    主站蜘蛛池模板: 兴文县| 正阳县| 肥西县| 平远县| 庆云县| 房山区| 高清| 榆树市| 武川县| 双鸭山市| 松原市| 新营市| 河津市| 萨嘎县| 临清市| 寿光市| 和平区| 洛宁县| 台北县| 千阳县| 怀仁县| 苗栗市| 丹寨县| 郧西县| 桃园县| 汤阴县| 巴彦淖尔市| 丹江口市| 囊谦县| 获嘉县| 定州市| 嘉鱼县| 中宁县| 富宁县| 潍坊市| 漾濞| 南昌市| 吉安市| 鸡西市| 开封市| 宜宾市|