试图理解"找不到匹配列列表的FULLTEXT索引"错误

Mat*_*att 2 mysql sql

因为我试图通过稍微使用代码来理解SQL,所以我遇到了这种情况.我运行这段代码

SELECT * FROM jobs WHERE MATCH ( title, location, description ) AGAINST ( 'New York designer')
Run Code Online (Sandbox Code Playgroud)

我得到了正确的行结果.但是,如果我问自己,"好吧,如果我只想看一栏怎么办?"

 SELECT * FROM  jobs WHERE  match(location) against ('designer')
Run Code Online (Sandbox Code Playgroud)

我收到错误"无法找到与列列表匹配的FULLTEXT索引".为什么?我不确定这个错误意味着什么.我只删除了两个单词和逗号.

我改变了作业表以使用MyISAM引擎.这是否意味着它可以搜索或" FULLTEXT"?由于InnoDB不可搜索,这是正确的说法吗?

但现在,当孤立到搜索一列时,这是一个问题?

如果这有意义,请告诉我,我会重新编辑.

Dan*_*man 7

FULLTEXT索引是MyISAM存储引擎的一项功能.

您无法与位置列匹配,除非FULLTEXT该列上仅有索引.

MATCH()列列表必须与表的某些FULLTEXT索引定义中的列列表完全匹配,除非此MATCH()是IN BOOLEAN MODE.布尔模式搜索可以在非索引列上完成,尽管它们可能很慢.

http://dev.mysql.com/doc/refman/5.0/en/fulltext-restrictions.html