【发布时间】:2011-06-21 18:08:03
【问题描述】:
我试图弄清楚如何将数据库表引擎 A 的整体转换为表引擎 B(在本例中,从 MyISAM 转换为 InnoDB)。我知道我可以使用 MySQL 工作台为单个表执行此操作,但我想要一个可以进行大规模转换的脚本或程序。有人有什么想法吗?
* EDIT * 如果可能的话,我更喜欢可以使用的 SQL 查询,而不使用 php。
【问题讨论】:
我试图弄清楚如何将数据库表引擎 A 的整体转换为表引擎 B(在本例中,从 MyISAM 转换为 InnoDB)。我知道我可以使用 MySQL 工作台为单个表执行此操作,但我想要一个可以进行大规模转换的脚本或程序。有人有什么想法吗?
* EDIT * 如果可能的话,我更喜欢可以使用的 SQL 查询,而不使用 php。
【问题讨论】:
在伪代码中使用information_schema tables:
$rows = "SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'yourDBName'
AND ENGINE LIKE 'engineA'";
foreach ($rows as $table) {
$query = 'ALTER TABLE '.$table.' ENGINE = engineB';
}
【讨论】: