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

Résolu
smarty08 Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   -  
smarty08 Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   23
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > smarty08 Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour, peut-être choisir AID ou aid, pas mélanger les deux?
0
smarty08 Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > smarty08 Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
merci de tout coeur. J'etait en tord.vote premier message est la solution à mon problème.
0