代码之家  ›  专栏  ›  技术社区  ›  AliBZ

MySQL中的更改表引擎

  •  44
  • AliBZ  · 技术社区  · 14 年前

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

    2 回复  |  直到 7 年前
        1
  •  78
  •   Eduardo M kralco626    11 年前

    从手册中: 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.7 ,服务器SQL模式。

    http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_no_engine_substitution

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

        2
  •  23
  •   Paul Fisher    8 年前

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

    Result