Problème de clé étrangère

From: Jonathan Ballet <jon(at)multani(dot)info>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Problème de clé étrangère
Date: 2005-11-30 22:31:13
Message-ID: 438E2831.5050102@multani.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonsoir,

j'ai un petit problème qui concerne les clés étrangères. Lors d'une insertion dans une table possédant deux clés étrangères, je me vois refuser
l'insertion sous prétexte que une de ces contraintes n'est pas respectée, alors que la clé existe ien dans la table référencée ...

Mon schéma de base de données (en gros) :
une table A avec un champ 'id' de type SERIAL
une table B qui dérive de A
une table C avec un champ ID de type SERIAL
et une table D qui relie A et C de la manière suivante :
- id_A integer REFERENCES A(id)
- id_C integer REFERENCES C(id)

J'insère des données dans mes tables B et C (pas directement dans A), puis j'essaie de faire une liaison par l'intermédiaire de la table D.
A ce moment là, j'ai une erreur comme quoi mon identifiant n'existe pas dans A :

ERROR: insert or update on table "D" violates foreign key constraint "d_ref_a"
DETAIL: Key (id_A)=(5) is not present in table "A".

J'ai bien vérifié, et les données y sont (des deux cotés).
Bref, je sèche.

J'utilise PostgreSQL 7.4, j'insère les données via un script Python que j'exécute en ligne de commande. Si je n'insère pas les données dans D, et que
je le fais à la main via phpPgAdmin, lorsque B et C sont remplies, j'ai la même erreur.

Toute aide est la bienvenue :)

Jonathan Ballet

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Stephane Bortzmeyer 2005-12-02 10:45:43 Re: Problème de clé é
Previous Message Cyril.ZEKSER 2005-11-30 07:37:34 Réf. : Re: Compatibilité SQL