我有一個沼澤標準的MySQL全文查詢,如下:MySQL全文索引不會超過一個領域的工作
SELECT * FROM accounts WHERE MATCH(first_name, username) AGAINST ('stringhere')
的問題是,它無法找到場上first_name
全文索引,儘管我現在已經索引了幾次。
SELECT * FROM accounts WHERE MATCH(username) AGAINST ('stringhere')
或者這樣:
SELECT * FROM accounts WHERE MATCH(first_name) AGAINST ('stringhere')
但不能與兩個或多個字段,當我做到這一點,它工作正常。我在這裏做錯了什麼?我做了一定的索引上的字段設置,我甚至已經修好的表,但仍然沒有worky :-(
我使用多個字段時,得到這樣的結果:
Error in query: Can't find FULLTEXT index matching the column list
這是混亂和刺激性,因爲就像我說的,我已經明確限定全文索引。
感謝您的幫助,
詹姆斯
你說得這將是有益的:'全文鍵'username' ('username'),FULLTEXT KEY'first_name'('first_name')'。我添加了所有我需要的字段,現在效果很好。謝謝! – Bojangles 2011-04-03 14:35:38
您必須列出您希望包含在全文搜索中的所有列,正如我在答覆的最後一行中所寫的那樣。刪除您的索引並以正確的方式重新創建一個新索引。 – 2011-04-03 14:39:31