MySql 中出現「非法排序規則混合」錯誤
執行查詢時遇到「非法排序規則混合」錯誤可能是令人沮喪。要解決此問題,請按照以下步驟操作:
檢查排序規則
首先,識別排序規則不相容的列。執行以下查詢:
SELECT table_schema, table_name, column_name, character_set_name, collation_name FROM information_schema.columns WHERE collation_name = 'latin1_general_ci' ORDER BY table_schema, table_name,ordinal_position;
修復排序規則不一致
識別出有問題的列後,請使用以下查詢調整其排序規則以匹配所需的排序規則:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
將「tbl_name」替換為排序規則不一致的表的名稱。
示例
將這些步驟應用於示例查詢提供的將解決問題:
SELECT username, (SUM(rating)/COUNT(*)) as TheAverage, Count(*) as TheCount FROM ratings WHERE month='Aug' AND username IN (SELECT username FROM users WHERE gender =1) GROUP BY username HAVING TheCount > 4 ORDER BY TheAverage DESC, TheCount DESC
注意事項
以上是如何解決 MySQL 中的「非法混合排序規則」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!