首頁  >  文章  >  資料庫  >  如何修復 MySQL 錯誤 1055:表達式不在 GROUP BY 子句中?

如何修復 MySQL 錯誤 1055:表達式不在 GROUP BY 子句中?

DDD
DDD原創
2024-11-21 09:13:11948瀏覽

How to Fix MySQL Error 1055: Expression Not in GROUP BY Clause?

#1055 - 表達式不在GROUP BY 子句中與伺服器設定不相容

在MySQL 版本5.7.12 及更高版本中,使用sql_mode= only_full_group_by 設定確保聚合函數僅對GROUP BY子句中包含的列進行操作,或

要解決錯誤“SELECT 清單的表達式不在GROUP BY 子句中並且包含與sql_mode=only_full_group_by 不相容的非聚合列”,請考慮以下步驟:

  1. 啟用相容性模式:

    • 編輯 MySQL 設定檔(my.cnf 或 mysql.conf.d/mysql.cnf)。
    • 將以下行加入的底部file:

      [mysqld]
      sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  2. 重新啟動>執行指令sudo service mysql restart重新啟動MySQL server.

    此修改後的 sql_mode 設定將允許在未包含在 GROUP BY 子句中的欄位上使用聚合函數,而不會引發錯誤。但是,建議僅出於相容性目的使用此模式,並考慮重組查詢以盡可能遵守 only_full_group_by 模式。

以上是如何修復 MySQL 錯誤 1055:表達式不在 GROUP BY 子句中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn