2009-08-04 85 views
3

我只是试图将表从MyISAM转换为INNODB。这是用testopia进行bugzilla升级。将表从MyISAM转换为INNODB

这个简单的命令失败。 ALTER TABLE table_name TYPE = INNODB;

ERROR 1214(HY000):所使用的表类型不支持FULLTEXT索引

我知道它不支持FULLTEXT索引,从来没有少我想把它转换。我必须在转换之前将全文索引放在表格上吗?有没有办法查询它们并全部删除它们?

回答

5

首先,看你CREATE TABLE声明:

SHOW CREATE TABLE tablename 

它会告诉你所有的全文索引是这样的:

…, 
FULLTEXT KEY key_name (column_list), 
… 

丢弃所有的这些键:

ALTER TABLE tablename DROP INDEX key_name; 
… 

,然后转换:

ALTER TABLE tablename ENGINE=InnoDB; 
+0

工作。或者,有没有办法保存数据?我应该估计这些数据的重要性。 – user150484 2009-08-04 17:10:33

+0

当然,只需备份它:)'mysqldump --all-databases> backup.sql'。 'FULLTEXT'索引是辅助数据源,即。即它们只包含表格本身中包含的数据。除非您的服务器出现任何问题,否则不会丢失任何您无法恢复的信息。 – Quassnoi 2009-08-04 17:15:47

+0

我会做一个转储并保存。你说我永远不需要它?如果这听起来不错。现在我进入我的下一个错误;) – user150484 2009-08-04 21:06:01