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>
Beim Hinzufügen der folgenden Zeile zu Ihrer Abfrage:
<code class="sql">AND username IN (SELECT username FROM users WHERE gender =1)</code>
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>
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>
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!