Créer 2 tables avec des clés etrangère

Résolu/Fermé
smarty08 Messages postés 62 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 26 mars 2020 - Modifié le 29 oct. 2017 à 12:22
smarty08 Messages postés 62 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 26 mars 2020 - 2 nov. 2017 à 06:57
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
A voir également:

1 réponse

trauqnej Messages postés 154 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 5 septembre 2022 23
29 oct. 2017 à 12:18
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
smarty08 Messages postés 62 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 26 mars 2020
30 oct. 2017 à 20:38
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
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556 > smarty08 Messages postés 62 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 26 mars 2020
31 oct. 2017 à 09:46
bonjour, peut-être choisir AID ou aid, pas mélanger les deux?
0
smarty08 Messages postés 62 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 26 mars 2020 > yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
31 oct. 2017 à 20:29
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
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556 > smarty08 Messages postés 62 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 26 mars 2020
31 oct. 2017 à 21:13
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.
0
smarty08 Messages postés 62 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 26 mars 2020
2 nov. 2017 à 06:57
merci de tout coeur. J'etait en tord.vote premier message est la solution à mon problème.
0