Heim >Datenbank >MySQL-Tutorial >Wie kann der MySQL-Fehler „Illegale Kombination von Kollatierungen' behoben werden?
Fehlerbehebung beim Fehler „Ungültige Mischung von Kollatierungen“ in MySQL
Beim Auftreten des Fehlers „Ungültige Mischung von Kollatierungen“ in MySQL während der Ausführung einer gespeicherten Prozedur , ist es ratsam, sich mit den zugrunde liegenden Ursachen zu befassen.
Sortierung spielt in MySQL eine entscheidende Rolle und bestimmt den Charakter Satz- und Sortierregeln. Eine Nichtübereinstimmung der Sortierungen zwischen einer Tabelle und einer Spalte, auf die in der WHERE-Klausel verwiesen wird, kann zu diesem Fehler führen.
Um das Problem zu beheben, geben Sie eine gemeinsame Sortierung für beide am Vergleich beteiligten Spalten an. Mit der COLLATE-Klausel können Sie die Standardsortierung für einen bestimmten Ausdruck überschreiben. Zum Beispiel:
WHERE 'A' COLLATE latin1_general_ci = 'A' COLLATE latin1_general_cs
Diese Abfrage löst immer noch den Fehler aus, da sie Zeichenfolgen mit unterschiedlichen Sortierungen vergleicht. Stattdessen sollten Sie die gemeinsame Sortierung explizit angeben:
SELECT * FROM table ORDER BY key COLLATE latin1_general_ci;
Alternativ kann der BINARY-Operator verwendet werden, um einen binären Vergleich zu erzwingen und dabei Sortierungen zu ignorieren:
SELECT * FROM table WHERE BINARY a = BINARY b;
SELECT * FROM table ORDER BY BINARY a;
Beachten Sie das Das Umwandeln von Spalten zum Vergleich, wie im Fall des BINARY-Operators, kann sich auf die Indizierungsleistung auswirken. Weitere Einblicke in MySQL-Sortierungen finden Sie in der umfassenden Antwort von eggyal.
Das obige ist der detaillierte Inhalt vonWie kann der MySQL-Fehler „Illegale Kombination von Kollatierungen' behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!