我将所有表格的charset latin1转换为utf8时遇到问题。转换了最大表,但有些表显示
ERROR 1071(42000):指定密钥太长;最大密钥长度为255 字节
在我的表中,我使用的是具有3个元素的主键。元素长度分别为128,64,128。谁能解决这个问题?高级谢谢你。
我联合了这个表。来自另一个数据库。基表引擎是MYISAM。
答案 0 :(得分:0)
在MySQL
中,UTF8
个字符最多可占用3
个字节。
因此,PK的最大长度可以是(128 + 64 + 128) * 3 = 960
个字节,超过引擎允许的255
个字节。
InnoDB
允许767
个字节,MyISAM
允许1000
个字节。