Heim  >  Artikel  >  Datenbank  >  Wie behebe ich den Fehler „Ungültige Sortierungsmischung“ in MySQL?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-11-04 02:08:02423Durchsuche

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>

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!

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