Est-il possible d'ajouter une colonne dans une vue existante dans mysql?
Pour une table que je peux faire comme ceci:
ALTER TABLE table_name
ADD column_name datatype
mais cela ne s'applique pas à une vue existante. Je me demande si il existe un moyen de résoudre ce problème?
OriginalL'auteur | 2011-09-15
Vous devez vous connecter pour publier un commentaire.
Utiliser l'instruction Alter View pour modifier une vue. Simplement utiliser l'Instruction SQL existante dans la vue en cours, et ajouter la colonne à la fin.
http://dev.mysql.com/doc/refman/5.0/en/alter-view.html
Explication plus détaillée que les docs peuvent être trouvés ici:
http://www.roseindia.net/mysql/mysql5/views.shtml
Modifier ajoutée
Une vue peut uniquement afficher des données à partir d'une table existante. Vous devez ajouter la colonne à la table, puis de modifier l'affichage pour montrer ainsi.
Pensez-y de cette façon: d'Un point de vue est juste une façon de regarder les données existantes dans les tableaux. Les Tables sont détenteurs de données réelles.
La seule exception à ce motif que je peux penser est que vous pouvez avoir une colonne sur une vue qui est rempli avec les résultats d'un calcul, telles que l'addition ou à la contention. Par exemple, considérons une table avec EmployeeId, colonnes FirstName et LastName...
Vous pourriez avoir un affichage qui ressemble à ceci:
Dans ce cas, je suis sorte de ajout d'une colonne qui n'existe pas dans la table - FullName. C'est une valeur calculée sur la base du tableau de données. Cependant, il est toujours basés sur les données stockées dans le DB quelque part.
J'étais également à la recherche d'un moyen pour ajouter une colonne à une vue (en supposant que la colonne existe déjà dans la table sous-jacente). Je ne pense pas que c'était possible, bien que depuis il n'a pas vraiment de sens une fois que vous commencez à avoir des vues basées sur des jointures complexes et ces.
OriginalL'auteur David