Cambiar motor tablas mysql

MySQL EngineEn más de una ocasión, me he encontrado con la necesidad de verificar el motor (innodb o myisam) de las tablas de una determinada base de datos en mysql. Se puede ver el motor usado, seleccionando la base de datos y ejecutando el comando “show table status”:

use mydatabase;
show table status;

También me he encontrado con la necesidad de cambiar varias (o todas) las tablas de un motor a otro. Existe la posibilidad de ejecutar la siguiente sentencia para cambiar el motor de una tabla:

ALTER TABLE mytable ENGINE=InnoDB

Sin embargo, si lo que queremos es cambiar todas las tablas de una base de datos, podemos crear un pequeño fichero en php como el siguiente, que se conecte a la base de datos y nos haga el cambio de todas las tablas de forma automática:

<?php
// your connection
mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“postaff”);

// convert code
$res = mysql_query(“SHOW TABLES”);
while ($row = mysql_fetch_array($res))
{
foreach ($row as $key => $table)
{
mysql_query(“ALTER TABLE ” . $table . ” ENGINE=InnoDB”);
echo $key . ” =&gt; ” . $table . ” CONVERTED<br />”;
}
}
?>

Flickr! Foto por 123 Chroma Pixels

Una respuesta a “Cambiar motor tablas mysql”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *