Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana mengubah jenis bidang mysql dari INT ke VARCHAR memengaruhi data yang sebelumnya disimpan sebagai INT

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konektor MySQL/Python - masukkan variabel python ke tabel MySQL

  2. Query mysql sederhana untuk memeriksa apakah ada baris

  3. Hasilkan Javascript Array dari MySQL pilih

  4. Koneksi MySQL Jarak Jauh di PHP

  5. Di mana menggunakan mysql_real_escape_string untuk mencegah SQL Injection?