Menu

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

smarty08 64 Messages postés lundi 29 septembre 2008Date d'inscription 2 novembre 2017 Dernière intervention - 10 oct. 2017 à 14:33 - Dernière réponse : smarty08 64 Messages postés lundi 29 septembre 2008Date d'inscription 2 novembre 2017 Dernière intervention
- 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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
trauqnej 137 Messages postés mardi 7 juin 2005Date d'inscription 22 juin 2018 Dernière intervention - 29 oct. 2017 à 12:18
3
Merci
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.

Merci trauqnej 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 24065 internautes ce mois-ci

smarty08 64 Messages postés lundi 29 septembre 2008Date d'inscription 2 novembre 2017 Dernière intervention - 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
yg_be 5827 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 22 juin 2018 Dernière intervention > smarty08 64 Messages postés lundi 29 septembre 2008Date d'inscription 2 novembre 2017 Dernière intervention - 31 oct. 2017 à 09:46
bonjour, peut-être choisir AID ou aid, pas mélanger les deux?
smarty08 64 Messages postés lundi 29 septembre 2008Date d'inscription 2 novembre 2017 Dernière intervention > yg_be 5827 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 22 juin 2018 Dernière intervention - 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
yg_be 5827 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 22 juin 2018 Dernière intervention > smarty08 64 Messages postés lundi 29 septembre 2008Date d'inscription 2 novembre 2017 Dernière intervention - 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.
smarty08 64 Messages postés lundi 29 septembre 2008Date d'inscription 2 novembre 2017 Dernière intervention - 2 nov. 2017 à 06:57
merci de tout coeur. J'etait en tord.vote premier message est la solution à mon problème.
Commenter la réponse de trauqnej