危険 それだと思います ALTER
既存のテキストを破棄します。
また...あなたの「名前」は中国語に見えるので、漢字を保存したいと思いますか?その場合は、utf8mb4
を使用する必要があります 、utf8
だけではありません 。これは、一部の漢字が4バイトを使用するためです(Unicode BMPには含まれていません)。
2つのステップが必要だと思います :
ALTER TABLE notebooks MODIFY comments BLOB;
ALTER TABLE notebooks MODIFY comments TEXT
CHARACTER SET utf8mb4 COLLATE utf8mb4_general_520_ci;
それ以外の場合、latin1文字 ut8に「変換」されます。しかし、あなたが本当に列に中国語を持っているなら、あなたはlatin1を持っていません。上記の2段階の変更は、(1)文字セットの知識をオフにし、(2)バイトが実際にutf8mb4でエンコードされていることを確認します。
より安全に 、最初に行う
RENAME TABLE notebooks TO old;
CREATE TABLE notebooks LIKE old;
INSERT INTO notebooks SELECT * FROM old;
次に、2つのALTERを実行し、結果をテストします。問題が発生した場合は、RENAME
できます 古いコピーを取り戻すため。