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 PostgreSQL Discussion :

Ajout d'une colonne et d'une valeur par défaut [9.5]


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 144
    Points : 110
    Points
    110
    Par défaut Ajout d'une colonne et d'une valeur par défaut
    Bonjour à tous,

    Lorsque j'ajoute une colonne qui possède une valeur par défaut non-nulle, PostgreSQL est censé faire la réécriture de la table avec cette nouvelle valeur par défaut.
    C'est ce que je lis sur la doc Section "Notes" 2e et 3e paragraphes.

    Or, je n'obtiens pas du tout ce résultat. Je pense que PostgreSQL ne réécris pas la table pour les records avant modification; Pour les ajouts de lignes, j'ai le comportement attendu.

    voici mes modifications :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table mytable add col2 int, alter col2 set default 1;
    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
    17
    18
    postgres=# \d mytable 
        Table "public.mytable"
     Column |  Type   | Modifiers 
    --------+---------+-----------
     id     | bigint  | 
     txt    | text    | 
     col1   | integer | 
     col2   | integer | default 1
     
    postgres=# select * From mytable limit 5;
     id |               txt                | col1 | col2 
    ----+----------------------------------+------+------
      1 | 909f30bb4525d8faa871dbcd781673bc |      |       
      2 | 89322ec9c4a8bb367bed857bbbbe551d |      |       
      3 | 62d89569adb6cb72bb62853332568bc5 |      |       
      4 | 21a67701603a7251ef4763cd9e5963bc |      |       
      5 | e4d45997890b4b02c7b2caf670e92d59 |      |       
    (5 rows)
    Quelqu'un est il capable de m'expliquer?

    Merci !

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 011
    Points : 23 692
    Points
    23 692
    Par défaut
    Bonjour,

    Une syntaxe plus juste serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table mytable add col2 int default 1;
    Là, ça fonctionne.

    Dans le cas de votre syntaxe, PostgreSQL ne prend pas en compte l'ALTER sur une colonne qu'il est en train de créer...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 144
    Points : 110
    Points
    110
    Par défaut
    Bonjour ced,

    En effet ça fonctionne.

    Merci !

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

Discussions similaires

  1. [XL-2010] Ajout de donnée en fonction d'une colonne et d'une ligne
    Par metiss_mimi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/03/2017, 12h05
  2. Réponses: 4
    Dernier message: 12/03/2015, 11h46
  3. Réponses: 3
    Dernier message: 29/03/2011, 20h38
  4. access : calcul d'une somme de 0 sans valeur par défaut
    Par ericbelgium dans le forum Access
    Réponses: 6
    Dernier message: 06/10/2005, 09h05
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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