我正在尝试在表的属性上创建 FULLTEXT 索引。mysql返回
错误 1214:使用的表类型不支持 FULLTEXT 索引。
知道我做错了什么吗?
我正在尝试在表的属性上创建 FULLTEXT 索引。mysql返回
错误 1214:使用的表类型不支持 FULLTEXT 索引。
知道我做错了什么吗?
您使用了错误类型的表格。Mysql 支持几种不同类型的表,但最常用的是 MyISAM 和 InnoDB。MyISAM(在 MySQL 5.6+ 以及 InnoDB 表中)是 Mysql 支持全文索引的表类型。
要检查表的类型,请发出以下 sql 查询:
SHOW TABLE STATUS
查看查询返回的结果,在 Engine 列中找到您的表和对应的值。如果这个值是 MyISAM 或 InnoDB 之外的任何值,那么如果您尝试添加 FULLTEXT 索引,Mysql 将抛出错误。
要更正此问题,您可以使用下面的 sql 查询来更改引擎类型:
ALTER TABLE <table name> ENGINE = [MYISAM | INNODB]
附加信息(认为它可能有用):Mysql 使用不同的引擎存储类型来优化特定表所需的功能。示例 MyISAM 是操作系统(除了 windows)的默认类型,可以快速执行 SELECT 和 INSERT;但不处理交易。InnoDB 是 windows 的默认值,可用于事务。但是 InnoDB 确实需要更多的服务器磁盘空间。
Up until MySQL 5.6, MyISAM was the only storage engine with support for full-text search (FTS) but it is true that InnoDB FTS in MySQL 5.6 is syntactically identical to MyISAM FTS. Please read below for more details.
在 MySQL <= 5.5 上,mysql 手册说FULLTEXT
索引只能在使用 mylsam 引擎的表上创建。
你在使用 InnoDB 吗?唯一支持 FULLTEXT 的表类型是 MyISAM。
除了 MyISAM 表PARTITIONING
也不支持full-text
索引。