Atur server MySQL Anda ke mode ketat sebelum Anda mengubah jenis kolom dan pastikan bahwa varchar(n)
Anda kolom memiliki n
yang cukup besar untuk menampung semua bilangan bulat saat dikonversi menjadi string. Jika Anda tidak dalam mode ketat maka MySQL akan diam-diam memotong data Anda agar sesuai dengan ukuran string Anda
:
Tetapi jika Anda masuk ke mode ketat pertama:
mysql> set sql_mode = 'STRICT_ALL_TABLES';
mysql> alter table table_sample change col_sample col_sample varchar(6);
Anda akan mendapatkan pesan kesalahan yang bagus seperti ini:
ERROR 1406 (22001): Data too long for column 'col_sample' at row ...
jika bilangan bulat Anda tidak semuanya sesuai dengan varchar
. Anda .
Dan, tentu saja, Anda akan memiliki cadangan terverifikasi baru dari database Anda sebelum Anda mencoba mengubah tabel. Dan dengan diverifikasi Maksud saya, Anda telah berhasil memulihkan cadangan ke database pengujian.