Heim > Datenbank > MySQL-Tutorial > Wie behebe ich den Fehler „Ungültige Sortierungsmischung' in MySQL?

Wie behebe ich den Fehler „Ungültige Sortierungsmischung' in MySQL?

Patricia Arquette
Freigeben: 2024-11-04 02:08:02
Original
474 Leute haben es durchsucht

How Do I Fix the

Ungültiger Kollationsfehler in MySQL: Beheben der Sortierungsmischung

Der Fehler „Ungültige Sortierungsmischung“ in MySQL tritt auf, wenn Werte mit verglichen werden verschiedene Zeichensätze oder Sortierungen. Lassen Sie uns dieses Problem im Kontext Ihrer Abfrage analysieren:

<code class="sql">SELECT username, (SUM(rating)/COUNT(*)) as TheAverage, Count(*) as TheCount 
FROM ratings WHERE month='Aug' 
AND username IN (SELECT username FROM users WHERE gender =1)
GROUP BY username HAVING TheCount > 4
ORDER BY TheAverage DESC, TheCount DESC</code>
Nach dem Login kopieren

Beim Hinzufügen der folgenden Zeile zu Ihrer Abfrage:

<code class="sql">AND username IN (SELECT username FROM users WHERE gender =1)</code>
Nach dem Login kopieren

Sie sind auf den Fehler „Ungültige Kombination von Sortierungen“ gestoßen. Dies liegt daran, dass die Spalte „Benutzername“ in der Bewertungstabelle möglicherweise eine andere Sortierung als die Spalte „Benutzername“ in der Tabelle „Benutzer“ aufweist.

Identifizieren der falschen Sortierungen:

Um festzustellen, welche Spalten den Sortierungskonflikt verursachen, verwenden Sie die folgende Abfrage:

<code class="sql">SELECT table_schema, table_name, column_name, character_set_name, collation_name
FROM information_schema.columns
WHERE collation_name = 'latin1_general_ci'
ORDER BY table_schema, table_name, ordinal_position;</code>
Nach dem Login kopieren

Diese Abfrage zeigt die Tabellen und Spalten an, die die Sortierung latin1_general_ci haben.

Behebung des Problems:

Um den Fehler zu beheben, konvertieren Sie die Tabelle mit der falschen Sortierung in die erforderliche Sortierung, die normalerweise latin1_swedish_ci ist. Verwenden Sie die folgende Abfrage:

<code class="sql">ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';</code>
Nach dem Login kopieren

wobei tbl_name der Name der Tabelle mit der falschen Sortierung ist.

Durch die Lösung des Sortierungskonflikts sollte die geänderte Abfrage erfolgreich ausgeführt werden.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Ungültige Sortierungsmischung' in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage