Heim > Datenbank > MySQL-Tutorial > Wie kann der MySQL-Fehler „Illegale Kombination von Kollatierungen' behoben werden?

Wie kann der MySQL-Fehler „Illegale Kombination von Kollatierungen' behoben werden?

DDD
Freigeben: 2024-12-22 13:37:17
Original
662 Leute haben es durchsucht

How to Solve MySQL's

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
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren
SELECT * FROM table ORDER BY BINARY a;
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage