Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/07/2005, 15h36   #1
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
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
Citation:
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.
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2005, 15h50   #2
Membre confirmé
 
Inscription : septembre 2003
Messages : 302
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2003
Messages : 302
Points : 251
Points : 251
via pgadmin tu peux lui spécifier à quelle valeur commercer. c'est la séquance que tu dois modifier
papy_tergnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2005, 20h59   #3
Futur Membre du Club
 
Inscription : juillet 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 13
Points : 15
Points : 15
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).
Jedei est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2005, 08h07   #4
Membre habitué
 
Inscription : janvier 2004
Messages : 507
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 507
Points : 101
Points : 101
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 :
ALTER SEQUENCE fournisseur_numfourn_seq RESTART WITH 183;
donny est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h22.


 
 
 
 
Partenaires

Hébergement Web