一尘不染

在MySQL中更改表引擎

mysql

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


阅读 215

收藏
2020-05-17

共1个答案

一尘不染

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

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

ALTER TABLE t1 ENGINE = InnoDB;

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

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

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

2020-05-17