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

PostgreSQL Discussion :

INSERT à partir d'un SELECT avec champ SERIAL


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 15
    Points
    15
    Par défaut INSERT à partir d'un SELECT avec champ SERIAL
    Bonjour,

    je désire dupliquer les lignes d'une table mais en incrémentant un champ de chaque ligne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO ACTIVE_IMAGE (extension,image_id,photo, remarque, actif, famille_id,fonction,groupe_id,libelle,position,producteur_id,produit_id,url_lien) 
           SELECT extension,image_id,photo,remarque, actif, famille_id,fonction+10,groupe_id,libelle,position,producteur_id,produit_id,url_lien
           FROM   ACTIVE_IMAGE;
    Ma clé primaire est image_id (SERIAL)...J'ai une erreur de duplicate key et si je retire le champ image_id j'ai une erreur de null value dans PK...

    Quelqu'un peut-il m'éclairer??

    Merci.

  2. #2
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    Quand tu dis "si je retire le champ image_id " ta requete ressemble à ça???

    INSERT INTO ACTIVE_IMAGE (extension,photo, remarque, actif, famille_id,fonction,groupe_id,libelle,position,producteur_id,produit_id,url_lien)
    SELECT extension,photo,remarque, actif, famille_id,fonction+10,groupe_id,libelle,position,producteur_id,produit_id,url_lien
    FROM ACTIVE_IMAGE;
    si oui ca devrai fonctionner????

    Si le code qui suit fonctionne ta requete devrai passer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create table test (id serial not null, nom varchar);
    insert into test (id, nom) values (1,'zsfqsd');
    insert into test (nom) select nom from test;
    select id,nom from test;

    [EDIT]
    désolé mais j'ai oublié
    primary key dans create table test (id serial not null, nom varchar);
    C'est pour ca que ca marche.............
    Généralement j'utilise des sequences et je mets nextval()

    SINON t'as la doc sur les insertion

    http://www.postgresql.org/docs/8.2/i...ql-insert.html

    Désolé!!!

    [/EDIT]

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

Discussions similaires

  1. une insertion à partir d'une selection + un champ fixe
    Par Smix007 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/05/2007, 14h59
  2. Réponses: 3
    Dernier message: 27/04/2007, 16h31
  3. INSERT à partir d'un SELECT
    Par bruno.wiesen dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/03/2007, 10h20
  4. Requete Select avec champs differents
    Par jojob dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/01/2007, 10h44
  5. Select Avec Champ Autoincremente
    Par susu69 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 20/11/2006, 13h53

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