2017-02-06 4 views
0

Когда я попробовал этот запросSQL Match() против непризнанных

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

PHPMyAdmin дает мне предупреждение, что гласит:

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) 

и он по-прежнему показывает правильный результат. Когда я попробовал другой запрос:

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

Это только дает мне и ошибку, не получая результата. Есть ли какие-то ошибки, которые я сделал?

EDIT: я обновил PHPMyAdmin но то, что я получил это новое сообщение об ошибке сказав

Can't find FULLTEXT index matching the column list 
+1

Предположительно, вы не используете MySQL, потому что это MySQL-конструкция. –

+0

Добавлен тег 'mysql', основанный на упоминании« phpmyadmin » –

ответ

1
ALTER TABLE people ADD FULLTEXT people_first_name(first_name); 

Попробуйте добавить полнотекстовый индекс по столбцу first_name, и повторите запрос.

+0

, который сработал, еще один вопрос: мне нужно использовать этот запрос вручную для каждого столбца или любым другим способом для добавления полного текста в начале создания таблиц? – Marr

+0

Вам нужно добавить индекс полного текста только для столбцов, которые необходимо использовать в полнотекстовых запросах (с ключевым словом «MATCH»). P.S. Если мой ответ решает ваш вопрос, пожалуйста, примите его, это будет полезно для других пользователей. – Germanets

+0

вы также можете проверить ссылку для дальнейшей справки https://www.petefreitag.com/item/477.cfm –

Смежные вопросы