PHP+MYSQL将所有MyISAM表批量转为InnoDB表

寻技术 PHP编程 / Mysql 2023年07月12日 85

PHP+MYSQL将所有MyISAM表批量转为InnoDB表,将其中的数据库名称改为自己实际应用的名字,同时这里又增加了表名以mdaima_zichan开头的匹配,因为我这个数据库下有好多表,功能不同只更改需要的同一应用下的MyISAM表。

//0 ===================数据库更改引擎为innodb----开始
        $sql="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名称' AND ENGINE = 'MyISAM' and TABLE_NAME like 'mdaima_zichan_%'";
        $result=$mysqli->query($sql);
        $de=0;
        while($rs=$result->fetch_assoc()){
            $de++;
            $tb_inodb = $rs["TABLE_NAME"];
            $sqlinodb = "ALTERTABLE".$tb_inodb." ENGINE=INNODB";
            $mysqli->query($sqlinodb);
            //echo $sqlinodb."<br/>";
        }
        echo "数据库更改引擎为innodb,更新完成!共处理 ".$de." 个表,".date("Y-m-d H:i:s")."<br />";
    //0 ===================数据库更改引擎为innodb----结束


关闭

用微信“扫一扫”