Table Engine InnoDB
服务器版本:5.6.24 - MySQL社区服务器(GPL)
这有效:
SELECT * FROM resources WHERE MATCH(`short_description`) AGAINST ('Lorem')
这有效:
SELECT * FROM resources WHERE MATCH(`long_description`) AGAINST ('Lorem')
这不起作用:
SELECT * FROM resources WHERE MATCH(`short_description`,`long_description`) AGAINST ('Lorem')
1191 - 找不到与列列表匹配的FULLTEXT索引
我也尝试使用两列创建全文索引但得到相同的错误。还试过将引擎切换到MyISAM同样的错误,但是当使用单列时也没有返回任何匹配行
答案 0 :(得分:1)
基于this SO article,似乎InnoDB表不允许在同一FULLTEXT
条件下搜索多个MATCH
索引列。
但是,InnoDB 支持MATCH
针对单个FULLTEXT
索引列,因此您可以像这样重写您的查询:
SELECT *
FROM resources
WHERE MATCH(`short_description`) AGAINST ('Lorem')
OR MATCH(`long_description`) AGAINST ('Lorem')