我有一个沼泽标准的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