mysql - 用于没有密钥长度的密钥规范

时间:2013-12-04 11:28:01

标签: mysql

抱歉,我忘记了错误: 当我尝试加载转储时,收到错误:

ERROR 1170 (42000) at line 225099: BLOB/TEXT column 'query' used in key specification without a key length

225099:

create table toc_piwik_log_profiling (
  query text not null,
  count int(10) unsigned,
  sum_time_ms float,
  UNIQUE query (query)
);

导致这个问题的原因是什么?以及如何解决?

2 个答案:

答案 0 :(得分:1)

您无法按TEXT / BLOBwithout specifying索引长度定义索引:

  

BLOB和TEXT列也可以编入索引,但前缀长度必须是   给出。

逻辑上 - 这是因为这些数据类型代表了巨大的数据,因此,整个字段无法创建索引。

答案 1 :(得分:1)

我的解决方案是将列类型从 text 更改为 varchar(64)