将MyISAM表转换为INNODB

3

我只是想将一个MyISAM表转换为INNODB表。这是用于bugzilla升级和testopia。

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

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

我知道它不支持FULLTEXT索引,但我仍然想要进行转换。我需要在转换之前删除表上的全文索引吗?有没有一种方法可以查询并删除它们所有?

1个回答

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;

工作了。或者有什么办法可以保留数据吗?我应该评估一下这些数据的重要性。 - user150484
当然,只需备份它 :) mysqldump --all-databases > backup.sqlFULLTEXT索引是次要数据源,即它们仅包含表本身中包含的数据。除非您的服务器出现问题,否则您不会丢失任何无法恢复的信息。 - Quassnoi
我将进行转储并仅保存它。你说我永远不需要它?如果是这样,那听起来很好。现在我继续处理我的下一个错误 ;) - user150484

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接