【问题标题】:Converting table from MyISAM to INNODB将表从 MyISAM 转换为 INNODB
【发布时间】:2010-11-16 18:03:55
【问题描述】:

我只是想将一个表从 MyISAM 转换为 INNODB。这是一个带有 testopia 的 bugzilla 升级。

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

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

我知道它不支持 FULLTEXT 索引,但我更希望它转换。我是否必须在转换之前删除表上的全文索引?有没有办法查询它们并将它们全部删除?

【问题讨论】:

    标签: mysql bugzilla mysql-error-1214


    【解决方案1】:

    首先,查看您的CREATE TABLE 声明:

    SHOW CREATE TABLE tablename
    

    它将向您显示所有全文索引,如下所示:

    …,
    FULLTEXT KEY key_name (column_list),
    …
    

    删除所有这些键:

    ALTER TABLE tablename DROP INDEX key_name;
    …
    

    ,然后转换:

    ALTER TABLE tablename ENGINE=InnoDB;
    

    【讨论】:

    • 工作。或者,有什么方法可以保存数据吗?我大概应该衡量一下这些数据的重要性。
    • 当然,只需备份它:) mysqldump --all-databases > backup.sqlFULLTEXT 索引是辅助数据源,即。 e.它们仅包含表本身中包含的数据。除非您的服务器出现任何问题,否则您不会丢失任何无法恢复的信息。
    • 我会转储并保存它。你说我永远不需要它?如果是这样听起来不错。现在我继续我的下一个错误;)
    猜你喜欢
    • 2021-09-28
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 2010-12-25
    • 2011-01-01
    相关资源
    最近更新 更多