修改库:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
修改表:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
修改一列:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要修改RDS MySQL的字符集为utf8mb4,您需要根据操作对象分别对数据库、表或列进行调整。以下是具体的步骤和命令:
命令:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
此命令会将database_name
数据库的字符集设置为utf8mb4,并使用utf8mb4_unicode_ci排序规则。
命令:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
这会将table_name
表的字符集及所有列的字符集转换为utf8mb4,并应用utf8mb4_unicode_ci排序规则。注意,此操作会对表加元数据锁,可能会影响写入操作。
命令:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
这条命令修改了table_name
表中名为column_name
的列,将其字符集改为utf8mb4,并指定了新的排序规则。同时,列的数据类型被指定为VARCHAR(191),这是考虑到InnoDB引擎在某些行格式下索引长度限制的问题。
character_set_server
)的修改需重启实例,并且只影响之后创建的数据库。请根据您的具体需求,选择合适的命令进行操作,并留意上述注意事项以避免潜在问题。