DBAtlas · Atlas de operações de banco de dados

1267: Illegal mix of collations

MySQL

O que significa?

Em uma operação de comparação ou combinação (JOIN, WHERE, UNION, CONCAT), duas strings com collations diferentes foram combinadas e o MySQL não conseguiu determinar quais regras de collation aplicar.

Por que acontece?

Geralmente, comparar colunas com conjuntos de caracteres/collations diferentes (por exemplo, utf8mb4_general_ci vs. utf8mb4_unicode_ci, ou latin1 vs. utf8mb4), ou uma divergência entre uma coluna e a collation da conexão. Comum quando tabelas/bancos foram criados com padrões diferentes.

Como resolver

Leve os dois lados da comparação para a mesma collation: especifique uma collation explícita com COLLATE (por exemplo, col1 = col2 COLLATE utf8mb4_unicode_ci) ou use CONVERT(... USING ...). Como solução permanente, converta as colunas/tabelas afetadas para um único conjunto de caracteres e collation consistentes. Alinhe também a collation da conexão (collation_connection).

Abrir no DBAtlas →

Mais entradas deste banco