|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : juin 2009 Messages : 76 ![]() |
Bonjour,
Je possède une base de données avec une centaine de tables. Parmi ces tables, une cinquantaine commence par bdd_ (pour les autres le début est différent). Existe-t-il une requête permettant de renommer dans la base toutes les tables commençant par bdd_ en sql_ sans toucher aux autres tables ? merci |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
La commande ALTER TABLE ne s'applique qu'à une seule table à la fois. En revanche, ce qui est possible, c'est d'interroger le catalogue, pour faire une requête qui génère automatiquement tous les ALTER TABLE des tables commençant par bdd_. Il suffit alors d'exécuter les résultats de cette requête.
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#3 | ||
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 331 ![]() |
Allez, un petit coup de main :
Code :
Après tu n'as qu'à exécuter le script généré. Rachid |
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 853 ![]() |
salut,
l'idée c'est de faire une procédure stockée qui utilise un curseur pour balayer les noms de tables de la bd choisie dans informations_schema.tables (l'équivalent du show tables mais avec un select)... dans la boucle de lecture du curseur tu fais une requête préparée qui va faire l'alter table voulu sur chaque nom de table trouvé... attention, changer juste le nom d'une table dans informations_schema.tables ne va pas marcher car le alter table renomme aussi tous les fichiers qui définissent la table...
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
|
|
#5 | ||
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 331 ![]() |
Citation:
La requête que j'ai donnée fait le boulot simplement et proprement Citation:
La commande "RENAME TABLE ..." est équivalente à la commande "ALTER TABLE ... RENAME ..." Rachid |
||
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : juin 2009 Messages : 76 ![]() |
Merci pour vos réponses.
Grâce à vos informations, j'ai pu résoudre mon problème. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com