Behebung des Fehlers „Ungültige Mischung von Kollatierungen“ in MySQL
Beim Versuch, eine gespeicherte MySQL-Prozedur auszuführen, die eine SELECT-Anweisung beinhaltet, kann es sein, dass Sie Es wird der Fehler „Ungültige Kombination von Sortierungen“ angezeigt. Dieses Problem entsteht aufgrund von Diskrepanzen in der Sortierung der Tabelle und den verglichenen oder sortierten Spalten.
Die Sortierung der Tabelle ist latin1_general_ci, während die Spalte in der WHERE-Klausel latin1_general_cs verwendet. Diese inkompatiblen Sortierungen führen zu dem Fehler.
Lösung 1: Gemeinsame Sortierung mithilfe der COLLATE-Klausel angeben
Verwenden Sie die COLLATE-Klausel, um eine gemeinsame Sortierung für die Spalten in anzugeben Abfrage:
WHERE column1 COLLATE latin1_general_ci = column2 COLLATE latin1_general_ci
Lösung 2: Verwenden Sie die BINARY Operator
Alternativ können Sie den BINARY-Operator verwenden, der Zeichenfolgen als Binärdaten behandelt:
WHERE BINARY column1 = BINARY column2
Hinweis:
Wann Beachten Sie bei der Verwendung des BINARY-Operators, dass dadurch jegliche potenzielle Indizierung für die betreffende Spalte deaktiviert wird.
Umfassende Informationen Zu kollationbezogenen Themen verweisen wir auf die sehr aufschlussreiche Antwort von Eggyal in einer ähnlichen Diskussion.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Unzulässige Sortierungsmischung' in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!