【问题标题】:How to search a particular string in table without mentioning the column name in which that string belong in mysql如何在表中搜索特定字符串而不提及该字符串在mysql中所属的列名
【发布时间】: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 索引??????这个怎么办???

请帮我解决这个问题。我被这个查询卡住了

【问题讨论】:

    标签: mysql full-text-indexing


    【解决方案1】:

    您需要在与您要使用的MATCH(...) 相同的列上有一个全文索引。

    ALTER TABLE claim_master ADD fulltext my_index(type,cheque);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-29
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 1970-01-01
      相关资源
      最近更新 更多