2011-02-05 3 views
0

J'essaie de comprendre comment convertir en masse du moteur de table de base de données A au moteur de table B (dans ce cas, de MyISAM à InnoDB). Je sais que je peux le faire pour des tables individuelles en utilisant MySQL Workbench, mais j'aimerais un script ou un programme capable de faire la conversion en masse. Quelqu'un a une idée?MySQL: Script de conversion de masse pour moteur de table

* EDIT * Je préférerais une requête SQL que je pourrais utiliser pour faire ceci, sans utiliser php, si possible.

Répondre

4

Dans le code pseudo en utilisant information_schema tables:

$rows = "SELECT TABLE_NAME 
    FROM INFORMATION_SCHEMA.TABLES 
    WHERE TABLE_SCHEMA = 'yourDBName' 
     AND ENGINE LIKE 'engineA'"; 
foreach ($rows as $table) { 
    $query = 'ALTER TABLE '.$table.' ENGINE = engineB'; 
} 
+0

a quelque chose qui est dans un script SQL, ou un autre langage de script autre que php? –

+0

@EvilPhoenix: Ce n'est même pas vraiment PHP. C'est un pseudo-code. Mettez-le en pratique dans la langue de votre choix ... Ça ne devrait pas être trop difficile ... – ircmaxell

+0

J'ai compris. Implémenté ceci avec un script bash. Merci pour l'aide. –

Questions connexes