在MySQL中更改表引擎

时间:2010-11-21 23:12:24

标签: mysql database innodb myisam

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

2 个答案:

答案 0 :(得分:70)

来自手册: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

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

答案 1 :(得分:23)

这并不明显。如果您编辑表格,然后选择列标签,则无法立即看到引擎窗口小部件。在编辑窗口的右上角,您将看到两个向下指示的V形符号。 选择箭头,将显示其他小部件。在右上角,架构和引擎现在将有小部件

Result