l'ajout de colonnes de toutes les tables dans une base de données mysql (inconnu noms de table)
J'ai besoin d'ajouter une clé primaire d'un ensemble de tables dans une base de données. Je ne sais pas combien de tables il y aura ou de ce que leurs noms sont. Ils seront tous de la pour datatable_##, où ## varient en fonction partout mon script sera exécuté.
Pour ajouter la clé primaire, je suis en utilisant cette requête:
alter table datatable_??
add column ID int auto_increment not null first,
add primary key (ID);
Donc, j'ai besoin de cela pour s'exécuter sur chaque table de la base de données. Il semble que je peux le faire dans un script PHP ou quelque chose, mais y a un moyen plus simple de le faire juste dans le script sql?
Vous devez vous connecter pour publier un commentaire.
Si vous voulez pleinement ce script, vous pouvez faire quelque chose comme ceci:
Une fois que vous avez la sortie, de copier et de les coller et de les exécuter.
SELECT INTO OUTFILE
d'écrire les commandes DDL pour un script, puis la source de ce script à exécuter les commandes.Vous pouvez effectuer les opérations suivantes pour modifier les colonnes. Il utilise un curseur pour parcourir les noms de table et de ne pas utiliser des fichiers texte ou quoi que ce soit. Vous devez créer ce qu'une procédure stockée comme les curseurs ne peut pas être utilisé à l'extérieur.