问题描述
当我试图通过稍微玩一些代码来理解SQL时,就遇到了这种情况.我运行这段代码
As I'm trying to understand SQL by playing around with the code a bit, I have run into this situation. I run this code
SELECT * FROM jobs WHERE MATCH ( title, location, description ) AGAINST ( 'New York designer')
,我得到正确的行结果.但是,如果我问自己:好吧,如果我只想看一栏呢?"
and I get the right row results. However, if I ask myself, "okay so what if I want just look at one column?"
SELECT * FROM jobs WHERE match(location) against ('designer')
我收到错误消息找不到与列列表匹配的FULLTEXT索引".为什么?我不确定这个错误是什么意思.我只删除两个单词和逗号.
I get the error "Can't find FULLTEXT index matching the column list". Why? I'm not sure what this error means. I just remove two words and commas.
我将作业表更改为使用MyISAM
引擎.这是否意味着它是可搜索的还是"FULLTEXT
"?由于InnoDB
不可搜索,这是正确的说法吗?
I alter the jobs table to use the MyISAM
engine. Does that mean it's searchable or "FULLTEXT
"? Since InnoDB
isn't searchable, is that correct to say?
但是现在,当被隔离到只搜索一列时,这是一个问题吗?
But now, when isolated to searching to one column, it's a problem?
如果这有意义,请告诉我.
Let me know if this makes sense, I will re-edit.
推荐答案
FULLTEXT
索引是MyISAM
存储引擎的功能.
FULLTEXT
indexes are a feature of the MyISAM
storage engine.
除非在该列上只有一个FULLTEXT
索引,否则您将无法与位置列进行匹配.
You can't match against the location column unless there is a FULLTEXT
index on that column alone.
http://dev.mysql.com/doc/refman/5.0/en/fulltext-restrictions.html
这篇关于试图了解“找不到与列列表匹配的FULLTEXT索引";错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!