Je sais que je peux émettre une table alter individuellement pour modifier la table de stockage MyISAM en InooDB.
Je me demande si il existe un moyen de changer rapidement tous les vers InnoDB ?
Je sais que je peux émettre une table alter individuellement pour modifier la table de stockage MyISAM en InooDB.
Je me demande si il existe un moyen de changer rapidement tous les vers InnoDB ?
<?php
// connect your database here first
//
// Actual code starts here
$sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'your_database_name'
AND ENGINE <> 'InnoDB'";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
$tbl = $row[0];
$sql = "ALTER TABLE $tbl ENGINE=INNODB";
mysql_query($sql);
}
?>
Scripts ci-dessous, remplacez , et avec vos données spécifiques.
Pour afficher les instructions que vous pouvez copier-coller dans une session cliente de mysql tapez ce qui suit :
Pour simplement exécuter le changement, utilisez ceci :
CRÉDIT : Il s’agit d’une variante de ce qui a été décrit dans cet article.
Vous pouvez exécuter cette instruction dans l’outil de ligne de commande mysql :
Vous devrez peut-être spécifier le nom d’utilisateur et mot de passe en utilisant : nom d’utilisateur de mysql -u -p le résultat est un script sql que vous pouvez diriger vers mysql :
Remplacez « nom-de-base de données » dans la déclaration ci-dessus et les ligne de commande.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.