针对这种问题,有以下两种解决方案:
在MySQL配置文件my.cnf或my.ini中增加下列设置:
[mysqld]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix = 1
重启MySQL服务,然后重新创建表及索引即可.这里的innodb_file_format设置为Barracuda是因为支持更长的索引值,innodb_file_per_table为1是因为启用单表空间,可以使索引空间更大,innodb_large_prefix为1是因为启用了支持更长索引前缀.
如果你不能修改MySQL的配置文件,或者你所在的系统并没有访问MySQL配置文件的权限,那么可以通过修改唯一索引或主键的长度来解决这个问题.
CREATE TABLE users (
UNIQUE KEY +idx_email+ (+email+(2000))
);
CREATE TABLE users (
UNIQUE KEY +idx_email+ (+email+(767))
);
以上就是土嘎嘎小编为大家整理的MySQL错误"Specified_key_was_too_long;_max_key_length_is_1000_bytes"的解决办法相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!