【问题标题】:Changing Table Engine in MySQL在 MySQL 中更改表引擎
【发布时间】:2011-05-13 13:29:51
【问题描述】:

我正在使用 mysql 和 mysql 工作台。我用 innodb 引擎创建了 5 个表。在我将数据插入它们之前,我检查了他们的引擎,它是 innodb。我从 5 个 MyISAM 表中插入数据,现在我的 innodb 表是 MyISAM。我无法改变它们。我使用了 alter table engine=innodb 但它不起作用。

【问题讨论】:

  • 给我们更多细节。你是如何尝试更换引擎的?您是如何“从 5 个 MyISAM 表中插入数据”的?

标签: mysql database innodb myisam


【解决方案1】:

来自手册:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

例如,要将表转换为InnoDB 表,请使用以下语句:

ALTER TABLE t1 ENGINE = InnoDB;

尝试更改表的存储引擎的结果受所需存储引擎是否可用以及NO_ENGINE_SUBSTITUTION SQL 模式设置的影响,如Section 5.1.11,“服务器 SQL 模式”中所述。

https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_engine_substitution

当您创建表时,您是否收到有关引擎类型不可用的任何警告?

【讨论】:

    【解决方案2】:

    这并不明显。如果您编辑表格,然后选择列标签,引擎小部件不会立即可见。在编辑窗口的右上角,您将看到两个向下的 V 形。 选择一次箭头,将会出现其他小部件。在右上角现在会有用于架构和引擎的小部件

    【讨论】:

    • 我编辑了图片以放置指针并编号 1 和 2 以显示动作顺序。
    猜你喜欢
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    相关资源
    最近更新 更多