0

I want to search a string 'Trevor DSouza' in table without mentioning the column name which this string belongs. This string might me stored in different different column.so for search this string I wrote my query like:-

SELECT * FROM claim_master 
WHERE MATCH (type,cheque) AGAINST('Trevor DSouza' IN NATURAL LANGUAGE MODE);

when I am executing this query it shows error like:-

Error Code: Can't find FULLTEXT index matching the column list

so to resolve this error I have created one FULLTEXT index on cheque as:-

ALTER TABLE claim_master ADD fulltext my_index(cheque);

so then after I am trying to execute my query:-

SELECT * FROM claim_master
WHERE MATCH(type,cheque) AGAINST('Trevor DSouza' IN NATURAL LANGUAGE MODE);

it again show me the same error as:-

Error Code: Can't find FULLTEXT index matching the column list

also at the one time how I can check a search string in all column. is there any way of passing the column name in match function like:- MATCH(full_name,mode,cheque,particular,desrption,final_status)?? and if there is a way of passing the columns at one time,then first we have to create a FULLTEXT index for that columns????? how to do this????

please help me to solve this.i am badly get stuck at this query

Omal Perera
  • 2,971
  • 3
  • 21
  • 26
shyarry g
  • 345
  • 1
  • 3
  • 8

1 Answers1

0

You need to have an fulltext index on the same columns as the MATCH(...) you are going to use.

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

Vatev
  • 7,493
  • 1
  • 32
  • 39