mysqlsqlmatchagainst

sql Match () Against unrecognized


When I tried this query

SELECT name, cost FROM items WHERE MATCH (name) AGAINST ('baby')

phpmyadmin gives me a warning that states:

Unrecognized keyword. (near "MATCH" at position 43)
Unexpected token. (near "(" at position 49)
Unexpected token. (near "name" at position 50)
Unexpected token. (near ")" at position 58)
Unrecognized keyword. (near "AGAINST" at position 60)
Unexpected token. (near "(" at position 68)
Unexpected token. (near "'baby'" at position 69)
Unexpected token. (near ")" at position 74)

and it still shows the correct result. When I tried another query:

SELECT fisrt_name , country FROM people WHERE MATCH (first_name) AGAINST ('marr')

It only gives me and error without getting result. Is there any mistakes that I did?

EDIT: I updated the phpmyadmin but what I got is new error message saying

 Can't find FULLTEXT index matching the column list

Solution

  • ALTER TABLE people ADD FULLTEXT people_first_name(first_name);
    

    Try this to add a full text index on column first_name, and retry your query.