PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 04/12/2008 20:49:32

YannT
Membre

Problème de mise à jour d'une ligne d'une table

bonjour,

lors d'une tentative d'update d'une ligne :
update ouvrage set titre_tome='tome 1' where idouv='LING1';

j'obtiens ce message d'erreur :

ERREUR:  la valeur d'une clé dupliquée rompt la contrainte unique « ouvrage_pkey »

or un
select * from ouvrage where idouv = 'LING1';

m'affiche bien une seule ligne.

j'ai fait un analyze verbose ouvrage qui me signalait des lignes à supprimer

donc j'ai fait ensuite VACUUM FULL ouvrage

mais le problème subsiste

quelqu'un a une idée ?

Hors ligne

#2 05/12/2008 01:00:02

gleu
Administrateur

Re : Problème de mise à jour d'une ligne d'une table

Tentez un REINDEX de ouvrage_pkey. Mais j'avoue que je ne pige pas pourquoi...


Guillaume.

Hors ligne

#3 05/12/2008 11:23:51

luddic
Membre

Re : Problème de mise à jour d'une ligne d'une table

La clé ouvrage_pkey porte sur quels champs ?

Hors ligne

#4 05/12/2008 18:16:16

YannT
Membre

Re : Problème de mise à jour d'une ligne d'une table

C'est résolu

Le problème venait d'un trigger qui calcule la clef unique idouv et que j'avais (bêtement) laissé "before update"
en modifiant le trigger en "before insert" uniquement tout est revenu dans l'ordre

Merci à vous

Hors ligne

Pied de page des forums