1. ホーム
  2. マイスル

[解決済み】MyISAMからInnoDBにすべてのテーブルを変換する方法は?

2022-04-01 09:28:04

質問

テーブルストレージをMyISAMからInnoDBに変更するために、個別にalter tableを発行できることは分かっています。

手っ取り早く全部をInnoDBに変更する方法はないでしょうか?

解決方法は?

<?php
    // connect your database here first 
    // 

    // Actual code starts here 

    $sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
        WHERE TABLE_SCHEMA = 'your_database_name' 
        AND ENGINE = 'MyISAM'";

    $rs = mysql_query($sql);

    while($row = mysql_fetch_array($rs))
    {
        $tbl = $row[0];
        $sql = "ALTER TABLE `$tbl` ENGINE=INNODB";
        mysql_query($sql);
    }
?>