Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

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: Wed, 30 Nov 2005 23:31:13 +0100
  • Message-id: <438E2831(dot)5050102(at)multani(dot)info>

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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group