Få din MySQL-server i streng tilstand, før du ændrer kolonnetypen og sørg for, at din varchar(n)
kolonne har en stor nok n
at holde alle de heltal, når de konverteres til strenge. Hvis du ikke er i streng tilstand, vil MySQL lyde afkorte dine data passer til din strengstørrelse
:
Men hvis du kommer ind på streng tilstand først:
mysql> set sql_mode = 'STRICT_ALL_TABLES';
mysql> alter table table_sample change col_sample col_sample varchar(6);
Du får en god fejlmeddelelse som denne:
ERROR 1406 (22001): Data too long for column 'col_sample' at row ...
hvis dine heltal ikke alle passer ind i din varchar
.
Og, selvfølgelig, vil du have en frisk bekræftet sikkerhedskopi af din database, før du forsøger at ændre tabellen. Og af bekræftet Jeg mener, at du har gendannet din sikkerhedskopi til en testdatabase.