📅  最后修改于: 2023-12-03 15:09:32.102000             🧑  作者: Mango
当需要存储包含 Emoji 或其他特殊字符的文本数据时,MySQL 表必须使用utf8mb4字符集。转换表的字符集需要进行以下几步:
在进行任何数据库操作之前,务必先对数据进行备份。
mysqldump -u [username] -p [database_name] > backup.sql
使用以下 SQL 语句在数据库中创建一个新的表,该表的所有列都是以 utf8mb4 字符集进行编码的。
CREATE TABLE `new_table` LIKE `old_table`;
ALTER TABLE `new_table` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
使用以下 SQL 语句将旧表的数据复制到新表中。
INSERT INTO `new_table` SELECT * FROM `old_table`;
DROP TABLE `old_table`;
RENAME TABLE `new_table` TO `old_table`;
现在,您的表已成功转换为 utf8mb4 字符集!特别注意的是,如果字符列包含索引、外键或触发器,这将需要更多的额外的步骤。