首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL全文索引问题

问MySQL全文索引问题
EN

Stack Overflow用户
提问于 2009-06-08 05:36:47
回答 5查看 50K关注 0票数 29

我试图在表的属性上创建全文索引。Mysql返回

错误1214:使用的表类型不支持全文索引。

知道我做错什么了吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-06-08 05:43:25

你用错类型的桌子了。Mysql支持几种不同类型的表,但最常用的是MyISAM和InnoDB。MyISAM (在MySQL 5.6+also InnoDB表中)是Mysql支持全文索引的表类型。

若要检查表的类型,请发出以下sql查询:

代码语言:javascript
复制
SHOW TABLE STATUS

查看查询返回的结果,在Engine列中找到表和相应的值。如果这个值是MyISAM或InnoDB以外的值,那么如果您试图添加全文索引,Mysql将抛出一个错误。

要纠正这种情况,可以使用下面的sql查询更改引擎类型:

代码语言:javascript
复制
ALTER TABLE <table name> ENGINE = [MYISAM | INNODB]

其他信息(认为这可能有用):Mysql使用不同的引擎存储类型来优化特定表所需的功能。示例MyISAM是操作系统的默认类型(除了windows),预置表单可以快速选择和插入,但不处理事务。InnoDB是windows的默认设置,可用于事务处理。但是InnoDB确实需要服务器上更多的磁盘空间。

票数 55
EN

Stack Overflow用户

发布于 2013-03-06 13:33:08

在MySQL 5.6之前,MyISAM是唯一支持全文搜索( FTS )的存储引擎,但MySQL 5.6中的InnoDB FTS在语法上确实与MyISAM FTS完全相同。更多细节请阅读下面。

InnoDB全文搜索在MySQL 5.6中

票数 10
EN

Stack Overflow用户

发布于 2009-06-08 05:42:44

在MySQL <= 5.5上,mysql手册说FULLTEXT索引只能在带有mylsam引擎的表上创建。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/963534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档