Ponga su servidor MySQL en modo estricto antes de cambiar el tipo de columna y asegúrese de que su varchar(n)
la columna tiene un n
suficientemente grande para contener todos los enteros cuando se convierten en cadenas. Si no está en modo estricto, MySQL truncará silenciosamente sus datos para adaptarse a su tamaño de cadena
:
Pero si entras en modo estricto primero:
mysql> set sql_mode = 'STRICT_ALL_TABLES';
mysql> alter table table_sample change col_sample col_sample varchar(6);
Recibirás un bonito mensaje de error como este:
ERROR 1406 (22001): Data too long for column 'col_sample' at row ...
si sus números enteros no caben en su varchar
.
Y, por supuesto, tendrá una nueva copia de seguridad verificada de su base de datos antes de intentar cambiar la tabla. Y por verificado Quiero decir que ha restaurado con éxito su copia de seguridad en una base de datos de prueba.