【发布时间】:2015-10-07 07:15:50
【问题描述】:
我正在尝试将大型生产数据库中 TEXT 列的字符集从 utf8 转换为 utf8mb4 以支持表情符号。
我已经读过,对于 varchar 列,我们需要计算并在 alter 命令中提供不同的大小。但我找不到任何关于 TEXT 列的信息。
TEXT 列存储在表格之外,所以我可以继续使用 alter 命令还是有什么需要考虑的?
【问题讨论】:
我正在尝试将大型生产数据库中 TEXT 列的字符集从 utf8 转换为 utf8mb4 以支持表情符号。
我已经读过,对于 varchar 列,我们需要计算并在 alter 命令中提供不同的大小。但我找不到任何关于 TEXT 列的信息。
TEXT 列存储在表格之外,所以我可以继续使用 alter 命令还是有什么需要考虑的?
【问题讨论】:
没问题。
“不同大小”可能是指将VARCHAR(255) 更改为VARCHAR(191) 以适应索引的767 字节 限制。这与TEXT 无关。
您打算如何进行转换?我认为(但尚未测试)这会起作用:
ALTER TABLE tbl CONVERT TO CHARACTER SET utf8mb4;
【讨论】: