使用的表类型不支持FULLTEXT索引

时间:2014-01-20 06:53:33

标签: php mysql indexing full-text-search

我正在尝试进行全文搜索,但它无法在我的网络应用中运行。这是查询和错误消息的回显:

SELECT name,id,city,state FROM campgrounds 
WHERE MATCH(name, city, state) AGAINST('camp' IN BOOLEAN MODE)

无效查询:使用的表类型不支持FULLTEXT索引

我已将表转换为MyISAM,然后删除索引并重新创建它。

delimiter $$

CREATE TABLE `campgrounds` (
  `id` int(11) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  `address` varchar(145) DEFAULT NULL,
  `city` varchar(145) NOT NULL,
  `state` varchar(5) NOT NULL,
  `zip` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `name` (`name`,`city`,`state`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8$$

如果我将上述查询复制到MySQL Workbench并运行它,它就可以了。

2 个答案:

答案 0 :(得分:1)

我是个傻瓜! MySQL工作台附加到另一台服务器。我将它设置为我的测试服务器并将该表转换为MyISAM并且一切都很好

答案 1 :(得分:0)

清除应用程序的缓存(Memcache或查询缓存)。因为如果它与mysqlworkbech一起使用,那么它也应该与web应用程序一起使用。