ERROR 1071 (42000) at line 348: Specified key was too long; max key length is 767 bytes
时间: 2023-12-01 16:43:15 浏览: 112
MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法
这个错误是因为你在修改innodb表的某个列的长度时,指定的列长度超过了767字节的限制。这个限制是因为innodb引擎的索引长度限制为767字节,如果你想要修改列的长度,需要确保新的列长度不超过767字节。如果你需要更长的索引,可以考虑使用前缀索引或者使用其他引擎,例如myisam。
以下是两种解决方法:
1. 使用前缀索引
```sql
ALTER TABLE test2 MODIFY COLUMN id VARCHAR(500);
ALTER TABLE test2 ADD INDEX (id(255));
```
2. 使用其他引擎,例如myisam
```sql
CREATE TABLE test2 (
id VARCHAR(500),
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
```
阅读全文