在MySQL中更改表引擎

Ali*_*iBZ 47 mysql database myisam innodb

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

Mat*_*aly 78

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

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

ALTER TABLE t1 ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)

尝试更改表的存储引擎的结果受所需存储引擎是否可用以及NO_ENGINE_SUBSTITUTIONSQL模式设置的影响,如第5.1.7节 "服务器SQL模式"中所述.

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

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


Cle*_*ndo 23

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

结果

  • 我编辑了图片以放置指针,并分别编号为1和2以显示操作顺序。 (2认同)