1267: Illegal mix of collations
MySQLWas 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.
Weitere Einträge zu dieser Datenbank
- 3948Loading local data is disabled; this must be enabled on both the client and server sides
- 1075Incorrect table definition; there can be only one auto column and it must be defined as a key
- 1055Expression not in GROUP BY (only_full_group_by)
- 1030Got error N from storage engine
- 1197Multi-statement transaction required more than 'max_binlog_cache_size'
- 1785Statement violates GTID consistency
- 3024Query execution was interrupted, maximum statement execution time exceeded