【问题标题】:MySQL: Mass Conversion Script for Table EngineMySQL:表引擎的批量转换脚本
【发布时间】:2011-06-21 18:08:03
【问题描述】:

我试图弄清楚如何将数据库表引擎 A 的整体转换为表引擎 B(在本例中,从 MyISAM 转换为 InnoDB)。我知道我可以使用 MySQL 工作台为单个表执行此操作,但我想要一个可以进行大规模转换的脚本或程序。有人有什么想法吗?

* EDIT * 如果可能的话,我更喜欢可以使用的 SQL 查询,而不使用 php。

【问题讨论】:

    标签: mysql mysql5


    【解决方案1】:

    在伪代码中使用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';
    }
    

    【讨论】:

    • 得到了 SQL 脚本或除 php 之外的其他脚本语言中的内容?
    • @EvilPhoenix:这甚至不是真正的 PHP。是伪代码。用您选择的语言实现它...应该不会太难...
    • 知道了。使用 bash 脚本实现了这一点。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多