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

时间:2015-09-28 07:34:44

标签: mysql

我将此表数据导入phpmyadmin:

CREATE TABLE IF NOT EXISTS `cms_books` (
  `id` bigint(20) NOT NULL,
  `title` varchar(255) COLLATE utf8_persian_ci NOT NULL,
  `seo_title` varchar(255) COLLATE utf8_persian_ci NOT NULL,
  `orginal_title` varchar(255) COLLATE utf8_persian_ci NOT NULL,
  `pub_type` tinyint(2) NOT NULL,
  `long_desc` longtext COLLATE utf8_persian_ci NOT NULL,
  `counter` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8;

我看到了这个错误:

  

-

     

- 表格cms_books

的索引      

-

     

ALTER TABLE cms_books        添加PRIMARY KEY(id),添加FULLTEXT键titletitle),添加FULLTEXT键long_desclong_desc);       MySQL说:文档

     

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

在localhost中我为标题和fulltext添加了long_desc,所以这有效,但是当我导入时,我看到了这个错误。如何修复此错误?

2 个答案:

答案 0 :(得分:6)

您需要将引擎更改为MyISAM。完整文本在INNODB中的MySQL 5.6之后支持搜索。您可以通过here进行检查。

请参阅MYSQL Docs

  

仅MyISAM表支持全文搜索。 (在MySQL 5.6中   它们也可以与InnoDB表一起使用。)

答案 1 :(得分:3)

在sql文件ENGINE=InnoDB中简单查找替换为ENGINE=MyISAM

这对我来说很好。