MySQL - 全文搜索 - 反向

时间:2017-01-01 18:53:11

标签: mysql full-text-search

我知道如何获得包含几个字的所有结果:

SELECT * FROM `table` WHERE MATCH (`row`) AGAINST ('+word1 +word2' IN BOOLEAN MODE)

但我怎么能得到哪些不包含单词:“word1”,“word2”?我需要操作员,比如“NOT IN”。那么我如何从数据库中获取所有使用全文搜索在查询中不包含特定单词的记录?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用NOT来否定条件:

SELECT * FROM `table` WHERE NOT MATCH (`row`) AGAINST ('+word1 +word2' IN BOOLEAN MODE)

MATCH条件在找到单词的行上 true false 在找不到单词的位置。使用NOT可以反转每行的真/假结果。

就像:

SELECT * FROM `table` WHERE NOT row = 'abc123'

对于特定值'abc123'的所有行都是如此。