【发布时间】:2012-06-03 19:57:30
【问题描述】:
我正在创建一个表,索引大量测量值,分布在各种文件中。在不同的表中,对于不同类型的数据,我使用数据文件的绝对路径作为唯一索引。这工作得很好。
但是,当我现在尝试在我的新表中重现该设置时,我得到了
mysql> alter table weights change column path path varchar(1000); ERROR 1071 (42000):指定的密钥太长;最大密钥长度为 767 字节
这很奇怪,因为我另一个表中的同一列被描述为:
| Field | Type | Null | Key | Default | Extra |
+---------------------+---------------+------+-----+---------+-------+
| path | varchar(1000) | YES | UNI | NULL | |
那么,我上次是如何绕过这个限制的呢?我应该告诉我自从创建第一个表以来我已经重新安装了 linux (& mySQL),所以很可能在我不知情的情况下更改了一些默认值。
当我启动 mySQL 时,欢迎信息是:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 128
Server version: 5.5.22-0ubuntu1 (Ubuntu)
当我搜索以前的答案时,一般的反应似乎是“嗯,就是这样”,但显然不是?
提前谢谢你:)
【问题讨论】:
-
这个问题的好答案可以在这里找到:stackoverflow.com/questions/1814532/…
-
我想我完全不明白这些答案