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 una respuesta

Tu dirección de correo electrónico no será publicada.