Unzulässige Kombination von Sortierungen in MySQL: Eine detaillierte Anleitung zur Lösung
Beim Arbeiten an einer Abfrage mit mehreren Tabellen kann der Fehler auftreten „Illegale Kombination von Sortierungen.“ Dieses Problem tritt auf, wenn die Zeichensätze und Sortierungen, die in den an der Abfrage beteiligten Tabellen und Spalten verwendet werden, nicht übereinstimmen.
Um diesen Fehler zu beheben, müssen Sie die spezifischen Spalten identifizieren, die die Nichtübereinstimmung verursachen, und ihre Sortierungen entsprechend ändern der Rest der Tische. Hier ist eine Schritt-für-Schritt-Anleitung:
Identifizieren der nicht übereinstimmenden Spalten:
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;
Diese Abfrage identifiziert alle Spalten in Ihrer Datenbank, die die Sortierung „latin1_general_ci“ verwenden.
Sortierungen konvertieren:
Sobald Sie dies getan haben Wenn Sie die nicht übereinstimmenden Spalten identifiziert haben, können Sie deren Sortierungen mit dem Befehl ALTER TABLE so konvertieren, dass sie mit den übrigen Tabellen übereinstimmen. Um beispielsweise die Spalte „Benutzername“ in der Tabelle „Benutzer“ in „latin1_swedish_ci“ zu konvertieren, verwenden Sie den folgenden Befehl:
ALTER TABLE users CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
Hinweis: Der Zeichensatz und die Sortierung von Die Primärschlüsselspalte muss mit der Fremdschlüsselspalte in verwandten Tabellen übereinstimmen, um Sortierfehler zu vermeiden.
Beispielabfrage:
Hier ist eine überarbeitete Version Ihrer ursprünglichen Abfrage mit Das Kollatierungsproblem wurde behoben:
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;
Durch Befolgen dieser Schritte können Sie den Fehler „Ungültige Mischung von Kollatierungen“ beheben und sicherstellen, dass Ihre Abfragen mit konsistenten Zeichensätzen und Kollatierungen korrekt funktionieren.
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!