โค้ด PHP เปลี่ยน ENGINE ของฐานข้อมูล เช่น จาก MyISAM เป็น INNODB หรือ INNODB ..

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: โค้ด PHP เปลี่ยน ENGINE ของฐานข้อมูล เช่น จาก MyISAM เป็น INNODB หรือ INNODB ..

โค้ด PHP เปลี่ยน ENGINE ของฐานข้อมูล เช่น จาก MyISAM เป็น INNODB หรือ INNODB ..

โดย mindphp » 18/11/2013 4:25 pm

โค้ด: เลือกทั้งหมด

<?php 
$db = 'hostnaja_db';
$dsn = "mysql:host=localhost;dbname=$db";
$username = "root";
$password = "";

$from = 'INNODB';
$to = 'MyISAM';

try {
    $pdo = new PDO($dsn, $username, $password);
}
catch(PDOException $e) {
    die("Could not connect to the database\n");
}

$result = $pdo->query("
    SELECT TABLE_NAME
    FROM information_schema.TABLES
    WHERE TABLE_SCHEMA = '$db'
    AND ENGINE = '$from'
");

foreach($result as $row) {
    $success = $pdo->exec("ALTER TABLE {$row['TABLE_NAME']} ENGINE = $to");
    if($success) {
        echo "{$row['TABLE_NAME']} - success\n";
    }
    else {
        $info = $pdo->errorInfo();
        echo "{$row['TABLE_NAME']} - failed: $info[2]\n";
    }
}

?>

ข้างบน