Zet uw MySQL-server in de strikte modus voordat u het kolomtype wijzigt en zorg ervoor dat uw varchar(n)
kolom heeft een voldoende grote n
om alle gehele getallen vast te houden wanneer ze worden geconverteerd naar tekenreeksen. Als u zich niet in de strikte modus bevindt, zal MySQL in stilte uw gegevens inkorten om bij uw snaarmaat te passen
:
Maar als je in strikte modus eerst:
mysql> set sql_mode = 'STRICT_ALL_TABLES';
mysql> alter table table_sample change col_sample col_sample varchar(6);
Je krijgt een mooie foutmelding zoals deze:
ERROR 1406 (22001): Data too long for column 'col_sample' at row ...
als uw gehele getallen niet allemaal passen in uw varchar
.
En natuurlijk heb je een nieuwe geverifieerde back-up van je database voordat je de tabel probeert te wijzigen. En door geverifieerd Ik bedoel dat je je back-up succesvol hebt teruggezet in een testdatabase.