vérifier si la colonne existe avant de l'instruction ALTER TABLE mysql

Est-il un moyen de vérifier si il existe une colonne dans une DB mySQL avant (ou sous) la ALTER TABLE ADD coumn_name instruction s'exécute? Une sorte de IF column DOES NOT EXIST ALTER TABLE chose.

J'ai essayé ALTER IGNORE TABLE my_table ADD my_column mais cela en jette toujours l'erreur si la colonne, je vais ajouter existe déjà.

EDIT: cas d'utilisation est de mettre à jour une table dans une déjà installée web app-- afin de garder les choses simples, je veux assurez-vous que les colonnes j'ai besoin d'exister, et si ils ne le font pas, les ajouter à l'aide ALTER TABLE

  • Avez-vous essayé de vérifier la description de la syntaxe de l'instruction alter table? Ce truc est documenté, vous savez?
  • N'est-il pas un peu inquiétant de constater que vous êtes en cours d'exécution DDL changements sur vos tables sans connaître leur structure? Ce qui est le cas d'utilisation?
  • Que trop. 🙂
  • oui, clairement, je n'ai pas lu les docs, mais j'obtiens une erreur, même lors de l'utilisation de l'IGNORER comme documenté dans la page que vous l'avez mentionné-- donc, je me demande comment le problème de l'instruction alter table uniquement lorsque la colonne n'existe pas. Est que pas clair?
  • Un cas d'utilisation de la fonction restauration des scripts. Si l'avant de script échoue pour quelque raison que ce soit, la restauration script peut essayer d'annuler les modifications qui n'étaient pas toujours exécutée dans la première place. De sorte que le contrôle permet la restauration de script de décider pour tout réversion si le faire.
  • il n'est jamais trop tard pour marquer une réponse acceptée et passer un accueil peu de karma à quelqu'un qui a essayé de vous aider

InformationsquelleAutor julio | 2011-11-21