2017-01-01 84 views
1

我知道如何獲得包含幾句話的所有結果:MySQL的 - 全文檢索 - 反向

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

但是我怎麼都可以導致其不含話:「字詞1」,「單詞2」 ??我需要操作員,像「不在」。那麼如何從數據庫中獲取所有不包含查詢中特定單詞的記錄(使用全文搜索)呢?

謝謝。

+0

'NOT IN'是一個有效的構造。 –

+0

我知道,這就是爲什麼我在這裏問它的原因...我想要一些替代方法來獲得所有不含特定單詞的結果。 – Majkson

+0

也許你應該更新你的問題,然後不要閱讀,「我需要[...]不喜歡的東西」,而是告訴我們更多具體的東西你要找的東西。 –

回答

1

你可以使用NOT否定條件:

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

MATCH條件的行真正在那裏發現的話,和它沒有找到的話。使用NOT可以反轉每行的真/假結果。

就像:

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

將是真實的是具體值 'ABC123' 的所有行。

+0

「不匹配」 - 就是這樣。謝謝 ! – Majkson