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 :

probleme avec type serial


Sujet :

PostgreSQL

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut probleme avec type serial
    salut,


    J ai exporter les donneé de ma base access dans postgres.
    Maintenant je teste mes formulaire et j ai des problemes pour l insertion d element dans certaines de mes tables.
    Je dispose d une table fournisseur(numf,nom,tel) et d une table commande(numc,desc,numf).
    Quand j ai fait mon exportation d access à postgres j ai exporter le contenu de des deux tables dans mes tables postgres ,logique.
    Mais le truc est que dans ma table fournisseur j ai des enregistrement de ce type
    1 carrfour
    2 auchan
    5 ed
    10 lidl

    numf dans ma table fournisseur est de type serial,
    et donc quand j essai d inserer un nouvel enregistrement dans ma table fournisseur ,il me dit
    pg_query(): Query failed: ERROR: duplicate key violates unique constraint "pk_fourni"
    Si j ai bien, ce qui se passe c est qu il essai d enregistrer le nouveau fournisseur en lui donnant un identifiant qui existe deja dans la table fournisseur.
    Le type serial commence sont compteur à zero alors, et comme il tombe sur des numero qui existe deja il bloque.
    Comment pourrai faire pour resoudre se probleme ?
    N y aurai t il pas une solution, pour faire que mon type serial s autoincremente à partir du dernier numf de ma table fournisseur ?

    Merci.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut
    via pgadmin tu peux lui spécifier à quelle valeur commercer. c'est la séquance que tu dois modifier

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 13
    Par défaut
    Bonjour,
    Effectivement derrière le type serial ce sont en fait des séquences qui sont manipulées. Tu peux modifier ces dernières également en ligne de commande via psql
    (http://www.postgresql.org/docs/8.0/s...rsequence.html).
    Tu peux également les manipuler via des fonctions spécifiques (http://www.postgresql.org/docs/8.0/s...-sequence.html).

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut
    Dans ma table le derniere identifiant est 182, donc si je veux que sa continu à partir de se derniere identifiant , faut que je fasse un restart d apres la doc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SEQUENCE fournisseur_numfourn_seq RESTART WITH 183;

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

Discussions similaires

  1. probleme avec type du champ pour fichier excel
    Par akremb22 dans le forum C#
    Réponses: 0
    Dernier message: 29/12/2011, 14h14
  2. erreur de compilation : probleme avec type de structure dans une classe
    Par medkarim dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 21/10/2008, 15h33
  3. probleme avec types Oracle
    Par MikoMax dans le forum DBDesigner
    Réponses: 1
    Dernier message: 01/02/2008, 11h59
  4. Probleme avec type de donnees
    Par kevinss dans le forum ASP
    Réponses: 3
    Dernier message: 03/11/2004, 15h42
  5. Réponses: 2
    Dernier message: 30/08/2004, 14h48

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