gpt4 book ai didi

MySQL 全文搜索 InnoDB 错误

转载 作者:行者123 更新时间:2023-11-29 10:59:18 26 4
gpt4 key购买 nike

我有以下查询来执行多列搜索:

SELECT 
prod.pid,
prod.pname,
prod.description,
prod.status,
foto.set_cover,
foto.file
FROM products prod
INNER JOIN second_child_categories secd ON prod.category_id = secd.second_id
INNER JOIN photos foto ON prod.pid = foto.pid
WHERE MATCH (prod.pname, prod.description)
AGAINST ('home')
AND foto.set_cover = '1'
AND prod.status = '1'
ORDER BY prod.created_date DESC

我使用InnoDB引擎和MySql Ver 14.14 Distrib 5.6.35

我在产品表中添加了全文索引

ALTER TABLE `products` ADD FULLTEXT (`pname`);
ALTER TABLE `products` ADD FULLTEXT (`description`);

我运行查询并收到错误:

#1191 - Can't find FULLTEXT index matching the column list

查询有什么问题?

提前致谢。

最佳答案

当您使用 MATCH() 时,您命名的列必须一起索引为一个全文索引,而不是每个列单独索引在单独的全文索引中。

根据您显示的查询,您需要这样定义的索引:

ALTER TABLE `products` ADD FULLTEXT (`pname`,`description`);

关于MySQL 全文搜索 InnoDB 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42524931/

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