gpt4 book ai didi

sql - 全文 key 太长

转载 作者:行者123 更新时间:2023-11-29 07:12:51 25 4
gpt4 key购买 nike

在我的 MySQL 数据库中尝试将 FULLTEXT 索引添加到标题、版本和作者时出现以下错误:

Specified key was too long; max key length is 1000 bytes

这是列:

`Title` varchar(255) NOT NULL,
`Edition` varchar(20) default NULL,
`Authors` varchar(255) default NULL,

它们都不是唯一的。即使所有 3 个的组合也不是唯一的。数据库的主键是 ISBN。

我添加此全文索引的原因是人们可以使用可能包含标题、版本或作者的关键字来搜索书籍。

最佳答案

MySQL 对为索引分配多少空间有限制 - it's 1000 bytes for MyISAM, 767 for InnoDB .

绕过限制的唯一方法是定义索引列的一部分的键 - 这意味着索引中的所有内容,限制它的值:

CREATE INDEX index_name ON YOUR_TABLE(title(100), edition, authors(100));

这将索引标题列的前 100 个字符、所有版本列和作者列的 100 个字符。我认为 VARCHAR 列的比例为 3 比 1,因此 VARCHAR(250) 需要 750 个字节。

关于sql - 全文 key 太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3437399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com