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

Requêtes MySQL Discussion :

Ajouter une colonne a une table (ALTER?)


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 162
    Par défaut Ajouter une colonne a une table (ALTER?)
    Bonjour,

    Dans une mise à jour d'une application php je dois ajouter une nouvelle colonne a une table. Pour cela je pensais faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ALTER TABLE `matable` ADD `transaction_id` varchar(255) default NULL"
    Le probeme et que le test sera effectué à chaque appel du programme, est il possible d'y adjondre un IF NOT PRESENT ou alors comment tester la présence de la colonne?

    merci, cédric

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    peut-être.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    Si tu es en version 5 et supérieur de Mysql, tu peux tester la présence ou non de la colonne avec une simple requête du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select count(*) from information_schema.columns 
    where table_name = 'matable' 
    and column_name = 'transaction_id';

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    Aussi tu peux ajouter une condition sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    table_schema = 'ma_base'
    pour être sûr de taper dans la bonne base ;-)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 162
    Par défaut
    merci je me suis rabatu sur cette solution plus ... php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $sql = "SELECT * FROM `maTable` LIMIT 1";
     
    $database->setQuery($sql);
     
     
     
    $obj = null;
    if (!( $database->loadObject($obj) && array_key_exists('transaction_id', $obj))) {
     
    $sql = "ALTER TABLE `matable` ADD `transaction_id`  varchar(255) default NULL " ;
     
    $database->SetQuery($sql);
     
    $database->query();
    }
    Cédric

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/06/2014, 23h51
  2. Réponses: 8
    Dernier message: 28/11/2011, 11h40
  3. Ajout entete checkbox dans une colonne d'une datagridview
    Par pbatty1 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 31/07/2009, 10h17
  4. supprimer une ligne et une colonne d'une matrice
    Par nessing dans le forum C++Builder
    Réponses: 8
    Dernier message: 14/08/2007, 15h42
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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