Heim >Datenbank >MySQL-Tutorial >Wie behebt man den Fehler „Unzulässige Kombination von Sortierungen' in MySQL?

Wie behebt man den Fehler „Unzulässige Kombination von Sortierungen' in MySQL?

Linda Hamilton
Linda HamiltonOriginal
2024-11-17 06:44:03819Durchsuche

How to Resolve

Mischung von Sortierungen in MySQL

In MySQL kann ein Fehler auftreten, wenn versucht wird, Werte mit unterschiedlichen Sortierungen zu vergleichen oder zu bearbeiten. Ein häufiges Beispiel ist die „unzulässige Mischung von Kollatierungen (utf8_unicode_ci,IMPLICIT) und (utf8_general_ci,IMPLICIT) für Operation ‚=‘“.

Grundlegendes zu Kollatierungen

Eine Kollatierung bestimmt, wie Zeichen sortiert und verglichen werden. MySQL unterstützt verschiedene Sortierungen, wobei utf8_unicode_ci und utf8_general_ci gängige Optionen sind.

Sortierungsfehler

Der Fehler tritt auf, wenn eine Operation versucht, Werte mit unterschiedlichen Sortierungen zu vergleichen oder zu manipulieren. Dies kann aufgrund von Inkonsistenzen in den Sortiereinstellungen von Tabellen, Feldern oder gespeicherten Prozeduren passieren.

Problem lösen

Um dieses Problem zu beheben, gibt es vier Hauptoptionen :

Option 1: Sortierung angeben für Variablen

  • Fügen Sie das Schlüsselwort COLLATE zu den Eingabevariablen hinzu, z. B. SET @rUsername = 'aname' COLLATE utf8_unicode_ci;.

Option 2: Geben Sie die Sortierung in der WHERE-Klausel an

  • Fügen Sie die hinzu Schlüsselwort COLLATE zur WHERE-Klausel, z. B. WHERE users.username = rUsername COLLATE utf8_unicode_ci.

Option 3: Sortierung in Parametern gespeicherter Prozeduren angeben

  • Fügen Sie das Schlüsselwort COLLATE zur IN-Parameterdefinition in der gespeicherten Prozedur hinzu, z. B. IN rBenutzername VARCHAR(24) COLLATE utf8_unicode_ci.

Option 4: Tabellensortierung ändern

  • Ändern Sie die Sortierung des betreffenden Felds, z. B. ALTER TABLE Benutzer CHARACTER SET utf8 COLLATE utf8_general_ci;.

Empfehlung

Es wird empfohlen, utf8mb4/utf8mb4_unicode_ci als bevorzugte Zeichensatz-/Sortierungsmethode zu verwenden, da diese die umfassendste Unterstützung bietet Unicode-Zeichen.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Unzulässige Kombination von Sortierungen' in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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