更改 MySQL 中的表引擎
我正在使用 mysql 和 mysql 工作台。我用 innodb 引擎创建了 5 个表。在我向其中插入数据之前,我检查了他们的引擎,它是innodb。我从 5 个 MyISAM 表插入了数据,现在我的 innodb 表是 MyISAM。我无法改变他们。我使用了 alter table engine=innodb 但它不起作用。
I am using mysql and mysql workbench. I created 5 tables with innodb engine. I checked their engine and it was innodb before I insert data into them. I inserted data from 5 MyISAM tables and now my innodb tables are MyISAM. I can't change them. I used the alter table engine=innodb but it doesn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
来自手册: http://dev.mysql.com/doc /refman/5.1/en/alter-table.html
例如,要将表转换为
InnoDB
表,请使用以下语句:尝试更改表的存储引擎的结果受所需存储引擎是否可用以及
NO_ENGINE_SUBSTITUTION
SQL 模式设置的影响,如 第 5.1.11 节,“服务器 SQL 模式”。https://dev.mysql.com/doc/refman /8.0/en/sql-mode.html#sqlmode_no_engine_substitution
当您创建表时,您是否收到有关引擎类型不可用的任何警告?
From the manual: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
For example, to convert a table to be an
InnoDB
table, use this statement:The outcome of attempting to change a table's storage engine is affected by whether the desired storage engine is available and the setting of the
NO_ENGINE_SUBSTITUTION
SQL mode, as described in Section 5.1.11, “Server SQL Modes”.https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_engine_substitution
When you create the table do you get any warning about the Engine type being unavailable?
这并不明显。如果您编辑表格,然后选择列选项卡,引擎小部件不会立即可见。在编辑窗口的右上角,您将看到两个向下的 V 形。 选择一次箭头,其他小部件将会出现。在右上角现在将有用于架构和引擎的小部件。
It's not obvious. If you edit the table and then select the column tab the engine widget is not immediately visible. On the upper right of the edit window you will see two down pointing chevrons. Select the arrow once and additional widgets will appear. In the upper right hand corner there will now be widgets for the schema and engine.