首頁 >資料庫 >mysql教程 >如何修復 MySQL 中的「非法混合排序規則」錯誤?

如何修復 MySQL 中的「非法混合排序規則」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-12-13 06:14:13902瀏覽

How to Fix the

解決MySQL 中的「非法混合排序規則」錯誤

當嘗試執行涉及SELECT 語句的MySQL 儲存過程時,您可以遭遇到錯誤“非法混合排序規則”。出現此問題的原因是表格和要比較或排序的欄位的排序規則有差異。

表格的排序規則為 latin1_general_ci,而 WHERE 子句中的欄位使用 latin1_general_cs。這些不相容的排序規則會導致錯誤。

解決方案1:使用COLLATE 子句指定共享排序規則

使用COLLATE 子句為列中的列指定通用排序規則查詢:

WHERE column1 COLLATE latin1_general_ci = column2 COLLATE latin1_general_ci

解決方案2:使用BINARY運算符

或者,您可以使用BINARY 運算符,它將字符串視為二進制數據:

WHERE BINARY column1 = BINARY column2

注意:

使用BINARY 運算子時,請記住,它會停用該列上的任何潛在索引問題。

有關整理相關主題的全面信息,請參閱 Eggyal 在類似討論中提供的極具洞察力的回复。

以上是如何修復 MySQL 中的「非法混合排序規則」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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