2013-03-06 45 views
1

我認爲這是一個非常簡單的查詢,但我無法在我的任何編程書籍或網絡中找到它。我有這樣的查詢: SELECT * FROM test WHERE MATCH(column1,column2)AGAINST('value1');MySQL與多個值匹配反對

但我需要反對有多個值例如(value1,value2,value3)

任何人都可以幫忙嗎?

回答

5

我認爲BOOLEAN MODE修飾符可能是你要找的。

SELECT * FROM test WHERE MATCH (column1,column2) 
    AGAINST ('+value1 +value2 +value3' IN BOOLEAN MODE); 
+0

快速的問題。根據您提供的鏈接(+ value1 + value2)意思是「查找包含兩個詞的行」。但在我的測試中: 選擇* FROM test WHERE MATCH('title,description')AGAINST('+ val1 + val2'IN BOOLEAN MODE)結果值顯示沒有val2的行。有任何想法嗎? – 2013-03-06 04:57:54

+0

nvm我使用的val2是單詞「only」。我認爲mysql理解「唯一」是一個停止詞。感謝布爾模式,我需要! – 2013-03-06 05:00:49