En 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 . » => » . $table . » CONVERTED<br />»;
}
}
?>
Foto por 123 Chroma Pixels
Groso! andubo de diez el script..