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

Apakah ada efek samping saat mengubah penyandian tabel mysql?

Bahaya Saya pikir itu ALTER akan menghancurkan teks yang ada.

Juga, ... 'Nama' Anda terlihat Cina, jadi saya kira Anda ingin menyimpan karakter Cina? Dalam hal ini, Anda harus menggunakan utf8mb4 , bukan hanya utf8 . Ini karena beberapa karakter Cina membutuhkan 4 byte (dan tidak ada dalam BMP Unicode).

Saya yakin Anda membutuhkan 2 langkah :

ALTER TABLE notebooks MODIFY comments BLOB;
ALTER TABLE notebooks MODIFY comments TEXT
          CHARACTER SET utf8mb4  COLLATE utf8mb4_general_520_ci;

Jika tidak, karakter latin1 akan "dikonversi" ke ut8. Tetapi jika Anda benar-benar memiliki bahasa Cina di kolom, Anda tidak memiliki latin1. Perubahan 2 langkah, di atas, tidak (1) mematikan pengetahuan apa pun tentang kumpulan karakter, dan (2) menetapkan bahwa byte benar-benar dikodekan utf8mb4.

Agar lebih aman , lakukan dulu

RENAME TABLE notebooks TO old;
CREATE TABLE notebooks LIKE old;
INSERT INTO notebooks SELECT * FROM old;

Kemudian lakukan dua ALTER dan uji hasilnya. Jika ada masalah, Anda dapat RENAME untuk mendapatkan kembali salinan lama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasikan server email agar berfungsi dengan PHP

  2. Laporan MySQL Workbench tidak valid pada posisi ini untuk kesalahan versi server ini

  3. Bagaimana cara mengekspor struktur MySQL db ke file Excel?

  4. Koneksi MySQL dan SSL gagal ERROR 2026 (HY000)

  5. SQL - WHERE Kondisi pada SUM()