【问题标题】:MySQL table engine not being updated (Or update not being reflected)MySQL 表引擎未更新(或更新未反映)
【发布时间】:2011-10-10 15:51:47
【问题描述】:

我有一个包含 400 多个表的大型 MySQL 数据库。根据框架要求,几乎所有表都需要更改为 InnoDB。

我正在运行以下查询来查看数据库的当前表引擎:

 SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'DATABASE_NAME';

我创建了一个平面文件,其中包含所有表的列表,其中包含正确的“ALTER TABLE”语法:

 ALTER TABLE  wishlist_item ENGINE=InnoDB;
 ...etc...

我已使用以下语法运行此文件:

mysql -u USERNAME -pPASSWORD DATABASE_NAME < alter_staging_tables.txt

但是,当我运行时:

 SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'DATABASE_NAME';

尽管我的文件正在运行并更改引擎类型,但它仍将所有表显示为 MyISAM。我什至进去了,手动运行了一个更改:

mysql> ALTER TABLE  zendesk ENGINE=InnoDB;
Query OK, 8 rows affected, 1 warning (0.00 sec)
Records: 8  Duplicates: 0  Warnings: 0

但是当我做选择时:

| zendesk                                           | MyISAM | 

它将表格显示为仍然是 MyISAM。我究竟做错了什么? TIA。

更新:MySQL 版本:

mysql -v
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 306675
Server version: 5.0.77-log Source distribution

更新: 所以改变不会坚持:

mysql> ALTER TABLE  zendesk ENGINE=InnoDB;
Query OK, 8 rows affected, 1 warning (0.00 sec)
Records: 8  Duplicates: 0  Warnings: 0

mysql> show warnings;
+---------+------+-------------------------------------------------+
| Level   | Code | Message                                         |
+---------+------+-------------------------------------------------+
| Warning | 1266 | Using storage engine MyISAM for table 'zendesk' | 
+---------+------+-------------------------------------------------+
1 row in set (0.00 sec)

【问题讨论】:

  • MySQL 的版本?他们中的一些人在这些事情上撒谎......

标签: mysql database magento alter-table


【解决方案1】:

您确定已启用 InnoDB 吗?您可以通过SHOW ENGINES查看。

请注意,默认情况下,MySQL 将简单地忽略无法识别的ENGINE 指令,并发出警告(除非您设置了NO_ENGINE_SUBSTITUTION)。您的ALTER TABLE 命令确实发出了一个警告,这可能是由于:

mysql> ALTER TABLE  zendesk ENGINE=InnoDB;
Query OK, 8 rows affected, 1 warning (0.00 sec)

【讨论】:

  • 你是对的,引擎类型被禁用。试图找出现在启用它的最佳方法。
猜你喜欢
  • 2014-04-27
  • 1970-01-01
  • 1970-01-01
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 2017-09-28
  • 2021-04-01
  • 1970-01-01
相关资源
最近更新 更多