1267: Illegal mix of collations
MySQLЧто это значит?
В операции сравнения или объединения (JOIN, WHERE, UNION, CONCAT) были объединены две строки с разными правилами сортировки (collation), и MySQL не смог определить, какие правила применить.
Почему возникает?
Обычно это сравнение столбцов с разными наборами символов/collation (например, utf8mb4_general_ci и utf8mb4_unicode_ci или latin1 и utf8mb4) либо несоответствие между столбцом и collation соединения. Часто встречается, когда таблицы/базы данных создавались с разными значениями по умолчанию.
Как исправить
Приведите обе стороны сравнения к одному collation: укажите явный collation с помощью COLLATE (например, col1 = col2 COLLATE utf8mb4_unicode_ci) или используйте CONVERT(... USING ...). Для постоянного решения преобразуйте затронутые столбцы/таблицы к единому согласованному набору символов и collation. Также согласуйте collation соединения (collation_connection).
Ещё по этой СУБД
- 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