use*_*729 4 mysql mysql-error-1071
mysql> create table newsgroup(
-> id integer unsigned NOT NULL AUTO_INCREMENT,
-> creater integer unsigned NOT NULL,
-> coremember integer unsigned DEFAULT NULL,
-> name varchar(300) not null unique,
-> description text,
-> created datetime not null,
-> PRIMARY KEY (id)
-> );
ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
mysql>
Run Code Online (Sandbox Code Playgroud)
我换300了250,没关系.但我真的不明白.
您的数据库编码设置为 UTF8
一个UTF8角色最多可能需要3字节中MySQL,所以767字节255字符.
UNIQUE建议不要在此类长文本字段上创建索引.
而是创建一个普通的前缀索引
CREATE INDEX ix_newsgroup_name ON newsgroup (name (30))
Run Code Online (Sandbox Code Playgroud)
,这足以进行前缀搜索,并添加另一列来存储MD5将确保唯一性的哈希.
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |