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 :

Insert avec un champ serial


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    677
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 677
    Points : 160
    Points
    160
    Par défaut Insert avec un champ serial
    Bonjour,

    Je souhaite faire un insert de plusieurs lignes sur une table qui possède un champ Serial.
    Voici la requête qui génère une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO ville SELECT nextval('ville_ville_id_seq'),ville_region_id,'',city, region,geom, zip FROM pays
    Voici le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR:  duplicate key violates unique constraint "ville_pkey_ind"
    ville_pkey_ind c'est l'index sur la clé primaire de la table ville.
    Les champs de la table ville sont :
    ville_id : serial
    ville_region_id
    ville_article,
    ville_nom,
    ville_dep,
    geom
    ville_cp

    Je précise que la table n'est pas vide. Je souhaite ajouter de nouvelles lignes en incrémentant automatiquement la valeur du champ serial.

    Merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    Cf la doc, quand vous donnez comme type à une colonne serial cela va:
    - créer une sequence
    - mettre par défaut nextval(ma_seq) comme valeur dans cette colonne.

    Du coup pour les insert ca sera plutot comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO ville ("mettre le nom des colonnes en ometant celle avec le serial") 
    SELECT ville_region_id,'',city, region,geom, zip 
    FROM pays

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    677
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 677
    Points : 160
    Points
    160
    Par défaut
    C'est ce que j'avais fait mais cela provoque la même erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO ville (ville_region_id, ville_article, ville_nom,ville_dep, geom , ville_cp) 
    SELECT ville_region_id,'',city, region,geom, zip 
    FROM pays
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR:  duplicate key violates unique constraint "ville_pkey_ind"

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    677
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 677
    Points : 160
    Points
    160
    Par défaut
    OK cela fonctionne !

    La valeur actuelle de la séquence n'était pas correcte.

    Merci bien..

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

Discussions similaires

  1. Interface : Insertion avec un champs auto incrémenté
    Par amnay dans le forum ODI (ex-Sunopsis)
    Réponses: 7
    Dernier message: 17/04/2012, 01h27
  2. [MySQL] Problème d'insert avec un champ de type DateTime
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/05/2009, 03h45
  3. [MySQL] Insertion avec un champ de type date
    Par souadmaa dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 04/02/2008, 11h27
  4. Question insertion avec un champ auto_increment
    Par tirelipinpon dans le forum Requêtes
    Réponses: 5
    Dernier message: 26/09/2006, 14h04
  5. Problème d'insertion avec un champ Date/Heure ?
    Par bds2006 dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/06/2006, 10h37

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