Fara Jag tror att det ALTER
kommer att förstöra befintlig text.
Dessutom... Ditt "namn" ser kinesiskt ut, så jag skulle gissa att du vill lagra kinesiska tecken? I så fall bör du använda utf8mb4
, inte bara utf8
. Detta beror på att några av de kinesiska tecknen tar 4 byte (och inte finns i Unicode BMP).
Jag tror att du behöver två steg :
ALTER TABLE notebooks MODIFY comments BLOB;
ALTER TABLE notebooks MODIFY comments TEXT
CHARACTER SET utf8mb4 COLLATE utf8mb4_general_520_ci;
Annars latin1 tecken kommer att "konverteras" till ut8. Men om du verkligen har kinesiska i kolumnen så har du inte latin1. 2-stegsändringen ovan stänger (1) av all kunskap om teckenuppsättning och (2) fastställer att byten verkligen är utf8mb4-kodade.
För att vara säkrare , gör först
RENAME TABLE notebooks TO old;
CREATE TABLE notebooks LIKE old;
INSERT INTO notebooks SELECT * FROM old;
Gör sedan de två ALTERS och testa resultatet. Om det uppstår problem kan du RENAME
för att få tillbaka den gamla kopian.