utf8_unicode_ci utf8_spanish_ci utf8_general_ci para operaciĆ³n mezcla latin1_swedish_ci illegal for collations coercible and sql mysql unicode union collation

sql - utf8_spanish_ci - illegal mix of collations latin1_swedish_ci implicit and utf8_general_ci coercible for operation ''=''



MySQL-Mezcla ilegal de colaciones(utf8_general_ci, COERCIBLE) y(latin1_swedish_ci, IMPLICIT) para la operaciĆ³n ''UNION'' (3)

Gracias Kristof. En este caso, fue causado por la selección de un literal en la primera selección, y no de ninguna intercalación de tabla diferente.

Irónicamente, lo conseguí trabajando siguiendo esta vieja publicación de blog que hice para ese tema.

¿Cómo soluciono ese error de una vez? Solo quiero poder hacer uniones en MySQL.

(Estoy buscando un acceso directo, como una opción para hacer que MySQL ignore ese problema o lo tome de la mejor manera, sin buscar cambiar las intercalaciones en cientos de tablas ... al menos no hoy)


No estoy seguro acerca de mySQL pero en MSSQL puede cambiar la intercalación en la consulta, por ejemplo, si tiene 2 tablas con colación diferente y desea unirlas o como en su caja de situación UNIÓN puede hacer

select column1 from tableWithProperCollation union all select column1 COLLATE SQL_Latin1_General_CP1_CI_AS from tableWithDifferentCollation

Por supuesto, SQL_Latin1_General_CP1_CI_AS es solo un ejemplo de intercalación que desea "convertir" a


Una solución que encontré que parece ser una solución fácil es alterar toda la base de datos que le está dando problemas. Estoy pensando que esta podría no ser la mejor manera de hacerlo, pero funciona para mí y es fácil. Ejecuto este comando en MySQL:

ALTER DATABASE databasename COLLATE utf8_unicode_ci;