Alter, Repair Semua Table di Database
Berawal dari mulai digunakannya perintah start transaction di script program yang saya buat (dulu belum tahu betapa pentingnya penggunaan start transaction untuk aplikasi multiuser :d) , saya diharuskan merubah engine table yang tadinya menggunakan engine MyISAM menjadi engine InnoDB.
Seperti diketahui perintah start transaction hanya bisa digunakan untuk tipe engine InnoDB. Daripada saya merubah satu persatu table yang ada didatabase saya, maka saya membuat satu perintah untuk meng-alter sekaligus me-repair semua table yang ada di database saya menjadi InnoDB Engine. Berikut ini perintah yang saya gunakan.
<?php
$query = mysql_query(“SHOW TABLES”);
while($row = mysql_fetch_row($query)){
$sql=’REPAIR TABLE `’.$row[0].’` ‘;
echo $sql.’ done…’;
mysql_query($sql) or die (mysql_error());
$sql=’ALTER TABLE `’.$row[0].’` ENGINE = InnoDB’;
echo $sql.’ done…’;
mysql_query($sql) or die (mysql_error());
} ?>
Kita bisa menjalankan query SHOW TABLES untuk menampilkan seluruh table yang ada di database kita dan menaruhnya dalam sebuah looping query. Di dalam query tersebut bisa kita jalankan perintah untuk me-repair atau meng-alter table tersebut menjadi InnoDB Engine. Mudah bukan?
Semoga Bermanfaat

