2012-03-13 91 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;它工作正常