2012-03-13 128 views
33

我與全文的工作,我執行的命令,全文索引添加到多個註釋,並沒有返回錯誤,那麼我所做的:找不到FULLTEXT索引匹配列的列表(索引設置)

SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda'); 

這是品牌欄目 - 但我得到以下幾點:

找不到FULLTEXT指數相匹配的列列表

Eventho,當我的表LO oks like this:

FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`) 

是因爲我應該用name來代替嗎?做搜索?或者可能是錯的。

+0

您正在使用哪個引擎? – 2012-03-13 08:31:00

回答

73

假設你正在使用MyISAM引擎,執行:

ALTER TABLE products ADD FULLTEXT(brand); 

全文索引應包含完全相同的列數,相同的順序在MATCH子句中提到。

+0

謝謝,它解決了我的問題。 – 2013-02-12 09:49:59

+8

@Zerpex如果你的問題解決了,那麼你應該將它標記爲ans @ – vikas 2013-02-13 08:49:19

+0

@jerrymouse,我有一個疑問,假設我有三個全文本列,並且我只想在兩列上進行全文搜索,我該怎麼辦? – vikas 2013-02-13 09:11:55

6

當一切正常,仍然有這個錯誤,我發現KEYS被禁用。一個有時會被忽略的簡單錯誤:

確保您已啓用該表上的密鑰。

當我禁用密鑰時,它不適用於我。但是,當我啓用密鑰ALTER TABLE table name ENABLE KEYS;它工作正常