Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/11/2011, 11h53   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 0
Points : 0
Par défaut toutes les tables en INNODB

Bonjour

comme puis je en SQL changer toutes les tables d'une base de données en INNODB en 1 coup

Code :
ALTER TABLE all_my_tables ENGINE = InnoDB;
merci
polpaulin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 19h24   #2
Membre du Club
 
Inscription : août 2009
Messages : 66
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 66
Points : 69
Points : 69
A ma connaissance, ce n'est pas possible.

Dans ton cas, j'aurais tendance à utiliser un script dans un langage tiers qui récupère le nom de toutes les tables d'un schéma :

Code :
SHOW FULL TABLES WHERE Table_type = 'BASE TABLE' ;
Ensuite en exploitant les lignes retournées par la précédente requête :

Code :
ALTER TABLE matable SET ENGINE = INNODB ;
NicoD. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 19h39   #3
Invité de passage
 
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 0
Points : 0
merci

j'ai cherche sur internet sans vraiment trouver de solution
polpaulin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 22h16   #4
Membre régulier
 
Homme Francis Lennert
Développeur informatique
Inscription : novembre 2011
Messages : 52
Détails du profil
Informations personnelles :
Nom : Homme Francis Lennert
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2011
Messages : 52
Points : 86
Points : 86
une autre solution est de créer un Batch en générant un fichier texte contenant les commandes a exécuter :

Quelque chose comme ;

Code :
SELECT concat_ws(""," ALTER TABLE ",table_schema,".",table_name, " ENGINE = ""Innodb"" ; ",char(13) )  INTO OUTFILE "C:/Makemybat.bat" FROM  information_schema.TABLES WHERE table_type = "BASE TABLE" AND table_schema <> "mysql"
J'utilise souvent ce genre de génération pour gagner du temps.

Bonnes fêtes

Francis
Edit; rajout d'un mot manquant
Grandal est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h05.


 
 
 
 
Partenaires

Hébergement Web