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