#1055 - SELECT 清單的表達式不在GROUP BY 子句中,並且包含非聚合列,這與sql_mode=only_full_group_by
不相容在此程式設計問題中,使用者遇到錯誤訊息「#1055 - SELECT清單的表達式不在 GROUP BY 子句中,並且包含非聚合列,這與嘗試在 MySQL 中執行查詢時的 sql_mode=only_full_group_by" 不相容。若要解決此錯誤,使用者必須修改 MySQL 設定檔(mysql.cnf)以將 sql_mode 參數設定為 STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENG。
使用者提供以下步驟才能成功解決錯誤:
- 使用vim 等文字編輯器編輯MySQL 設定檔(/etc/mysql/conf.d/mysql.cnf):
sudo vim /etc/mysql/conf.d/mysql.cnf
登入後複製
- 捲動到文件底部並加入以下內容行:
[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
登入後複製
- 儲存檔案並退出文字編輯器。
- 重新啟動 MySQL 服務:
sudo service mysql restart
登入後複製
之後完成這些步驟後,使用者應該能夠執行原始查詢而不會遇到錯誤。
以上是如何修復 MySQL 錯誤 #1055:「SELECT 清單的表達式不在 GROUP BY 子句中」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!