IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[DEBUTANT] [MySQL] add column


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut [DEBUTANT] [MySQL] add column
    bonjour,

    lorsque on cree une table et que on veut etre sur que elle n'existe pas deja on ecrit

    create table if not exists .... et avant ca on fait une requete de drop table ....


    comment on fait pour les colonnes

    par exemple add column if not exists ca ne marche pas

    merci d'avance

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    Désolé mais on ne procède pas comme ça chez nous : on passe TOUS les alters de la même manière que ce soit pour une table, une colonne, etc. et dans le cas où la table existe ou la colonne existe alors cela génère une exception que l'on capture.
    Une fois l'exception capturée, on ne fait rien puisque cela signifie que la table ou la colonne est déjà dans l'état souhaité.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Tu peux aussi utiliser les tables du dictionnaire de ton SGBD (si elles sont accessibles) pour tester l'existence de l'objet avant de le créer ou le modifier.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut
    merci! je vais faire ca

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut
    juste un truc

    sur internet on peut lire que si on ecrit

    alter table nom_table frop colum cl if exists cl;

    ca ne va pas faire de bug meme si la colonne n'existe pas , mais cette syntaxe ne marche pas chez moi

    est ce que quelqu'un sait pourquoi?

  6. #6
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Avec quel SGBD travailles-tu ? Cette syntaxe est peut-être spécifique à un SGBD, et ton SGBD ne l'implémente pas. Le SQL est un standard qui est diversement implémenté par les différents éditeurs.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Parce que ce n'est pas une syntaxe qui correspond au standard SQL... et que ton SGBD ne la prend pas en charge.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. Debutant Mysql, CHAMP pointant n TABLES
    Par James_ dans le forum Débuter
    Réponses: 3
    Dernier message: 28/06/2007, 08h04
  2. [Debutant/MySQL] Problème avec AS et Where
    Par kei-kun41 dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/01/2007, 12h44
  3. [MySQL] Show Columns avec un Where?
    Par Prosis dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/11/2006, 16h19
  4. erreur mysql Unknown column...
    Par italiasky dans le forum Requêtes
    Réponses: 9
    Dernier message: 08/02/2006, 10h26
  5. [debutant]MySql & Java
    Par Stef784ever dans le forum JDBC
    Réponses: 4
    Dernier message: 16/06/2004, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo