utf8_general_ci utf8 create column charset mysql character-encoding alter-table

utf8 - Error Mysql 150 en el cambio de nombre de la columna



mysql utf8 encode (1)

Lo más probable es que tu mycolumn sea ​​parte de una clave externa. Si es así, debe eliminar la restricción, luego cambiar el tipo para la clave principal / extranjera y luego agregar la restricción nuevamente.

Tengo un viejo DB con columns''charset para latin1

Ahora estoy tratando de cambiar todo el DB en utf8, hice un script para cambiar todas las tablas en utf8 así:

ALTER TABLE `mytable` CHARACTER SET utf8;

y todas las columnas como esta:

ALTER TABLE `mytable` CHANGE `mycolumn` `mycolumn` varchar(200) CHARACTER SET utf8;

Pero en algunas columnas (claves principales y restricciones, supongo) recibo este error:

Error on rename of ''./test/#sql-5028_217b96'' to ''./test/mytable'' (errno: 150)

Alguien sabe cómo evitar esto?