Fare Jeg tror, at det ALTER
vil ødelægge eksisterende tekst.
Også ... Dit 'navn' ser kinesisk ud, så jeg vil gætte på, at du vil gemme kinesiske tegn? I så fald skal du bruge utf8mb4
, ikke kun utf8
. Dette skyldes, at nogle af de kinesiske tegn tager 4 bytes (og er ikke i Unicode BMP).
Jeg tror, du har brug for 2 trin :
ALTER TABLE notebooks MODIFY comments BLOB;
ALTER TABLE notebooks MODIFY comments TEXT
CHARACTER SET utf8mb4 COLLATE utf8mb4_general_520_ci;
Ellers latin1 tegn vil blive "konverteret" til ut8. Men hvis du virkelig har kinesisk i kolonnen, har du ikke latin1. 2-trinsændringen ovenfor, (1) slår enhver viden om tegnsæt fra, og (2) fastslår, at bytes virkelig er utf8mb4-kodede.
For at være sikker , først gør
RENAME TABLE notebooks TO old;
CREATE TABLE notebooks LIKE old;
INSERT INTO notebooks SELECT * FROM old;
Udfør derefter de to ALTER og test resultatet. Hvis der er problemer, kan du RENAME
for at få den gamle kopi tilbage.