【发布时间】:2016-04-06 04:33:58
【问题描述】:
我想在表中搜索string 'Trevor DSouza' 而不提及该字符串所属的列名。这个字符串可能我存储在不同的不同列中。所以为了搜索这个字符串,我写了我的查询:-
SELECT * FROM claim_master
WHERE MATCH (type,cheque) AGAINST('Trevor DSouza' IN NATURAL LANGUAGE MODE);
当我执行这个查询时,它会显示如下错误:-
错误代码:找不到与列列表匹配的 FULLTEXT 索引
为了解决这个错误,我在检查时创建了一个 FULLTEXT 索引:-
ALTER TABLE claim_master ADD fulltext my_index(cheque);
那么在我尝试执行查询之后:-
SELECT * FROM claim_master
WHERE MATCH(type,cheque) AGAINST('Trevor DSouza' IN NATURAL LANGUAGE MODE);
它再次向我显示与以下相同的错误:-
错误代码:找不到与列列表匹配的 FULLTEXT 索引
同时我如何检查所有列中的搜索字符串。有什么方法可以在匹配函数中传递列名,例如:-MATCH(full_name,mode,cheque,particular,desrption,final_status)??如果有一种方法可以一次传递列,那么首先我们必须为这些列创建一个 FULLTEXT 索引??????这个怎么办???
请帮我解决这个问题。我被这个查询卡住了
【问题讨论】: