Bonjour J'ai une table principale BASECOMPANYDATA avec BaseCompanyDataID comme PK. Ceci est hérité par 2 autres tables CLIENTS & PRODUCTCOMPANIES. Maintenant, j'ai la table CONTACTS que je veux se connecter avec les 2 autres comme les clients et les compagnies de produit auront 0 ou plus de contacts. J'ai donc créé un FK (BaseCompanyID) dans CONTACTS et je me suis connecté à la base de données BASECOMPANYDATA PK (BaseCompanyDataID). Mais quand j'essaye d'insérer un contact pour un enregistrement qui existe dans CLIENTS j'obtiens l'erreur suivante: ERREUR: insérer ou mettre à jour sur la table "xxxxx" viole la clé étrangère contraindre "xxxxx" DETAIL: Clé (BaseCompanyDataID) = (17) n'est pas présent dans la table "BaseCompanyData". Cet ID existe dans la table héritée ci-dessus (BaseCompanyData). Quelqu'un peut-il expliquer pourquoi cela se passe-t-il?postgres ERREUR: insérer ou mettre à jour sur la table "xxxxx" viole la clé étrangère contraindre "xxxxx"
Merci à l'avance
PS: Eh bien, j'ai 4 tables:
1.BASECOMPANYDATA avec BaseCompanyDataID PK et d'autres domaines. 2. CLIENTS qui hérite de la table ci-dessus pour avoir CustomerID comme PK et a les champs de la table BASECOMPANYDATA à savoir BaseCompanyDataID etc. 3.PRODUCTCOMPANIES qui hérite de BASECOMPANYDATA de sorte qu'il a les champs ProductCompanyID comme PK et les champs des hérités table comme BaseCompanyDataID 4.CONTACTS avec ContactID comme PK et BaseCompanyDataID comme FK. J'ai essayé de connecter les CONTACTS de table avec 2 manières différentes. une. CONTACTS-> BaseCompanyID avec CUSTOMERS-> BaseCompanyDataID et CONTACTS-> BaseCompanyID avec PRODUCTCOMPANIES-> BaseCompanyDataID b. CONTACTS-> BaseCompanyID avec BASECOMPANYDATA-> BaseCompanyDataID Le résultat était la même erreur. Toute réponse sur la façon dont je peux créer le FK en utilisant l'héritage, s'il y a. Merci d'avance
Ce serait génial si vous ajoutiez des sauts de ligne à votre question et peut-être un extrait de vos définitions de table. –