错误:#1071 - 指定密钥太长; 最大密钥长度为1000字节 - mysql 5.0.91

Ant*_*tos 1 mysql mysql-error-1071

我使用的是mysql 5.0.91,我需要保存URL(有些很小,有些很长).我想使用,varchar(2000)但我收到一个错误:

#1071 - 指定密钥太长; 最大密钥长度为1000字节

使用mysql 5.0.91在我的主机上保存URL的最佳方法是什么?

Jav*_* Xu 5

unique=True在你的网址栏上使用了吗?MySQL正在该列上构建一个唯一索引,并且每个字符使用的字节数因编码而异.

例如,如果它是UTF-16,则每个字符将使用2个字节,因此您的varchar(2000)列将为4000个字节,并且如错误消息所示,最大密钥长度为1000个字节.

因此,您可以切换到UTF-8并使用它varchar(900)来解决此问题.