Pericolo Penso che quello ALTER
distruggerà il testo esistente.
Inoltre, ... Il tuo "nome" sembra cinese, quindi immagino che tu voglia memorizzare i caratteri cinesi? In tal caso, dovresti usare utf8mb4
, non solo utf8
. Questo perché alcuni dei caratteri cinesi occupano 4 byte (e non sono in Unicode BMP).
Credo che tu abbia bisogno di 2 passaggi :
ALTER TABLE notebooks MODIFY comments BLOB;
ALTER TABLE notebooks MODIFY comments TEXT
CHARACTER SET utf8mb4 COLLATE utf8mb4_general_520_ci;
Altrimenti i caratteri latini1 verrà "convertito" in ut8. Ma se hai davvero il cinese nella colonna, non hai latin1. L'alterazione in 2 passaggi, sopra, (1) disattiva qualsiasi conoscenza del set di caratteri e (2) stabilisce che i byte sono effettivamente codificati con utf8mb4.
Per essere più sicuro , prima fai
RENAME TABLE notebooks TO old;
CREATE TABLE notebooks LIKE old;
INSERT INTO notebooks SELECT * FROM old;
Quindi esegui i due ALTER e verifica il risultato. In caso di problemi, puoi RENAME
per recuperare la vecchia copia.