Как исключить строку, которая соответствует 100% при полнотекстовом поиске mysql? - PullRequest
0 голосов
/ 17 июня 2020

У меня есть таблица и данные

CREATE TABLE articles (
    id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    title VARCHAR(200),
    FULLTEXT (title)
) Engine=MyISAM;

INSERT INTO articles (title) VALUES
    ('PostgreSQL Tutorial'),
    ('Tricks MySQL Well'),
    ('MySQL'),
    ('1001 MySQL Tricks'),
    ('MySQL vs. YourSQL'),
    ('MySQL Security');

У меня есть этот запрос

SELECT * FROM articles 
WHERE 
MATCH (title)
  AGAINST ('+MySQL' IN BOOLEAN MODE);

Я получаю ожидаемый результат

id  title
2   Tricks MySQL Well
3   MySQL
4   1001 MySQL Tricks
5   MySQL vs. YourSQL
6   MySQL Security

Мой вопрос в том, как чтобы исключить строку со значением «MySQL»?

Требуется эффективное решение.

Вот скрипка http://www.sqlfiddle.com/#! 9/268411/1/0

1 Ответ

0 голосов
/ 17 июня 2020

Как насчет того, чтобы просто добавить еще одно условие в предложение where?

WHERE 
    MATCH (title) AGAINST ('+MySQL' IN BOOLEAN MODE)
    AND title <> 'MySQL'
...