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.