当我执行以下命令时:
ALTER TABLE `mytable` ADD UNIQUE (
`column1` ,
`column2`
);
我收到了这个错误信息:
# 1071 - Specified key was too long; max key length is 767 bytes
关于第1列和第2列的信息:
column1 varchar(20) utf8_general_ci
column2 varchar(500) utf8_general_ci
我想 varchar(20)
只需要21字节 varchar(500)
只需要501字节。所以总字节数是522,小于767。为什么我会收到错误信息?
# 1071 - Specified key was too long; max key length is 767 bytes
18条答案
按热度按时间vs3odd8k16#
您可以添加一列md5的长列
flvlnr4417#
在查询之前运行此查询:
这将使限制增加到
3072 bytes
.x9ybnkn618#
我通过以下方法解决了此问题:
替换为
所有具有200个以上的唯一或主要varchar键都将它们替换为191或将它们设置为文本。