Innodb:查询超过1列时,找不到匹配列列表的FULLTEXT索引

Mr.*_*oon 9 mysql innodb full-text-search

我正在尝试在MySQL INNODB表上运行一个非常简单的查询:

SELECT * 
FROM items 
WHERE MATCH (item_title,item_description) AGAINST ('dog')
Run Code Online (Sandbox Code Playgroud)

列两者item_titleitem_description有一个FULLTEXT索引.

我一直收到这个错误:

找不到与列列表匹配的FULLTEXT索引

我的问题:当我查询 item_title只是 item_description然后正常工作.但是当我在1个查询中同时执行这两个操作时,如上所示,我得到了该错误.

知道什么是错的吗?

Ric*_*mes 11

你需要第三个索引:

FULLTEXT(item_title, item_description)
Run Code Online (Sandbox Code Playgroud)

  • 拜托,我也有同样的问题,你可以用例子来改善它吗?谢谢 (2认同)

Son*_*ang 10

我可能会迟到,只是发布在这里以防有人混淆:)

运行此查询:

ALTER TABLE `items` ADD FULLTEXT(`item_title`,`item_description`);
Run Code Online (Sandbox Code Playgroud)

然后您就可以运行全文搜索:

SELECT * 
FROM items 
WHERE MATCH (item_title,item_description) AGAINST ('dog')
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您为有效的单个列设置全文索引。说

ALTER TABLE `items` ADD FULLTEXT(`item_title`);
ALTER TABLE `items` ADD FULLTEXT(`item_description`);
Run Code Online (Sandbox Code Playgroud)