Créer 2 tables avec des clés etrangère [Résolu/Fermé]

Signaler
Messages postés
62
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
26 mars 2020
-
Messages postés
62
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
26 mars 2020
-
salut à tous,
S'il vous plait,J'ai un souci avec ma base de donnée. J'aimerai créer 2 tables avec des clées etrangère,mais ca ne marche pas. J'ai besoin d'aide. Voici ci dessous ma
requete.Merci d'avance :

create table question(
Qid int not null primary key,
Accepted_Aid int,
Owner_Id int,
Creation_Date text,
Last_Activity_Date text,
Score int,
View_Count int,
Answer_Count int,
Comment_Count int,
Favorite_Count int);
foreign key (Accepted_Aid) references answer (Aid));

create table answer(
Aid int not null primary key,
Parent_Qid int,
Owner_Id int,
Creation_Date text,
Last_Activity_Date text,
Score int,
Comment_Count int,
foreign key (Parent_Qid) references question (Qid));



EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45

1 réponse

Messages postés
143
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
14 mai 2019
21
c'est normal, tu fais référence à une table qui n'existe pas encore;
donc créer ta clé étrangère après avoir créer ta table :

create table question(
QID int not null primary key,
Accepted_Aid int,
Owner_Id int,
Creation_Date text,
Last_Activity_Date text,
Score int,
View_Count int,
Answer_Count int,
Comment_Count int,
Favorite_Count int);

create table answer(
AID int not null primary key,
Parent_Qid int,
Owner_Id int,
Creation_Date text,
Last_Activity_Date text,
Score int,
Comment_Count int,
foreign key (Parent_Qid) references question (QID));

ALTER TABLE public.question
ADD CONSTRAINT question_parent_qid_fkey FOREIGN KEY (Accepted_Aid)
REFERENCES public.answer (aid);


voili,voilou.
mets un résolu si cela convient... cela servira à d'autres.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57107 internautes nous ont dit merci ce mois-ci

Messages postés
62
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
26 mars 2020

merci pour ton aide Trauqnej. J'ai suivi ta rocedure,mais au moment d'ajout des données dans ma BD,j'ai l'erreur suivante :

<<<< insert or update on table "question" violates foreign key constraint "question_parent_qid_fkey"
DETAIL: Key (accepted_aid)=(7) is not present in table "answer".>>>>

je comprend pas trop
Messages postés
11772
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
674 >
Messages postés
62
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
26 mars 2020

bonjour, peut-être choisir AID ou aid, pas mélanger les deux?
Messages postés
62
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
26 mars 2020
>
Messages postés
11772
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020

ca me retourne toujours le meme message d'erreur.

insert or update on table "question" violates foreign key constraint "question_parent_qid_fkey"
DETAIL: Key (accepted_aid)=(7) is not present in table "answer".


n'ya t il pas un autre moyen de faire mon update pour insérer la contrainte de clé etrangère?
pourquoi <<<question_parent_qid_fkey>>> . Ce nom influence - t- il ma clé étrangére? Merci de tout coeur pour l'aide
Messages postés
11772
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 août 2020
674 >
Messages postés
62
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
26 mars 2020

le message me semble clair: il n'y a pas de réponse correspondant à la question que tu crées.
se pourrait-il que tu essaies de créer une question sans réponse? il me semble que tu as créé une contrainte qui empêche cela. et donc le message t'informe que tu fais quelque chose d'interdit.
Messages postés
62
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
26 mars 2020

merci de tout coeur. J'etait en tord.vote premier message est la solution à mon problème.