在MySQL中,如何解决它无法使用已定义的字符串作为索引?

时间:2010-12-06 17:03:44

标签: mysql

认为该方法是以固定长度创建字符串的哈希,然后索引哈希。如果是这样,有没有办法在MySQL中执行此操作,或者是否需要我在MySQL之外执行该过程的某些部分。

数据库引擎是InnoDB,这里有关于我得到的错误的信息似乎是目标。

http://forums.techarena.in/software-development/1185285.htm

基本上尝试使用作为自然longtext键的列作为UNIQUE constraint,这意味着如果列字段不唯一,则会回滚插入事务。该列的长度可以是80到15万个字符。

1 个答案:

答案 0 :(得分:1)

UNIQUE字段上的TEXT/LONGTEXT/BLOB索引通常不是一个好主意,因为MySQL不具有任意长度索引。您要么必须指定最大字符数(例如UNIQUE (fieldname(255)) - 我相信4005是UTF8的当前限制,1000常规),限制字段长度(在这种情况下,您可能会将其设为{{} 1}}),或删除VARCHAR索引。