【问题标题】:Executing `ALTER TABLE my_table ENGINE InnoDB` on a MyISAM table has no effects. Why?在 MyISAM 表上执行 `ALTER TABLE my_table ENGINE InnoDB` 没有任何效果。为什么?
【发布时间】:2011-10-21 23:05:56
【问题描述】:

我想将一个表从 MyISAM 更改为 InnoDB。我执行了

ALTER TABLE database_name.table_name ENGINE = InnoDB;

在终端中的 mysql shell 内部。没有错误报告。但是

SHOW CREATE TABLE database_name.table_name;

告诉我,该表仍在 MyISAM 中。我错过了什么?

【问题讨论】:

    标签: mysql innodb myisam alter-table


    【解决方案1】:

    您的服务器上是否启用了 InnoDB?运行SHOW ENGINES;查询进行检查。

    【讨论】:

    • 生成的列表SHOW ENGINES 不包含 InnoDB。我记得在my.cnf 中编辑了一些 InnoDB 设置,这显然导致了这种情况。删除设置并重新启动服务器,让 InnoDB 再次出现在SHOW ENGINES 生成的列表中。感谢您的提示!
    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 2011-02-06
    • 2016-10-06
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2015-05-31
    • 2011-05-05
    相关资源
    最近更新 更多