DBAtlas · Atlas für Datenbankbetrieb

1267: Illegal mix of collations

MySQL

Was bedeutet das?

Bei einer Vergleichs- oder Verknüpfungsoperation (JOIN, WHERE, UNION, CONCAT) wurden zwei Strings mit unterschiedlichen Collations kombiniert, und MySQL konnte nicht bestimmen, welche Collation-Regeln anzuwenden sind.

Ursache

Meist der Vergleich von Spalten mit unterschiedlichen Zeichensätzen/Collations (z. B. utf8mb4_general_ci vs. utf8mb4_unicode_ci oder latin1 vs. utf8mb4) oder eine Abweichung zwischen Spalte und Verbindungs-Collation. Häufig, wenn Tabellen/Datenbanken mit unterschiedlichen Standardwerten angelegt wurden.

Lösung

Bringe beide Seiten des Vergleichs auf dieselbe Collation: Gib mit COLLATE eine explizite Collation an (z. B. col1 = col2 COLLATE utf8mb4_unicode_ci) oder nutze CONVERT(... USING ...). Konvertiere als dauerhafte Lösung die betroffenen Spalten/Tabellen in einen einheitlichen Zeichensatz und eine einheitliche Collation. Gleiche auch die Verbindungs-Collation (collation_connection) an.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank