petit probleme lors de la création d'un table étant l'association de deux autre table :
je créé : CREATE TABLE auteur(
num_auteur VARCHAR(5) PRIMARY KEY,
nom_auteur VARCHAR(20),
prenom_auteur VARCHAR(20),
date_naissance DATE
);
puis :
CREATE TABLE document (
ref_doc VARCHAR(5) PRIMARY KEY,
titre VARCHAR(50),
theme VARCHAR(40),
nbr_exemplaire int,
duree_emprunt int,
num_editeur varchar(5),
foreign key(num_editeur) REFERENCES editeur,
CHECK ( (nbr_exemplaire >=0) AND (duree_emprunt >=1))
);
Efin, je créer la table d'aasociation suivante :
CREATE TABLE ecrit(
ref_doc VARCHAR(5),
num_auteur VARCHAR(5),
FOREIGN KEY(ref_doc) REFERENCES document(ref_doc),
FOREIGN KEY(num_auteur) REFERENCES auteur(num_auteur),
CONSTRAINT ecrit_cp PRIMARY KEY(ref_doc,num_auteur)
);
J'insert des VALUES dans document et dans auteur :
INSERT INTO auteur VALUES('a0001','Hunt','Craig','10/10/75');
INSERT INTO livre VALUES('l0001','SQL pour les nuls','informatique','4','2','00023','145');
Livre est une table qui hérite de document. Jusque là pas d'erreut sauf qd j'insere des values ds la table écrit :
INSERT INTO ecrit VALUES('l0001','a0001');
J'obtient l'erreur suivante :
ERROR: insert or update on table "ecrit" violates foreign key constraint "$1"
DETAIL: Key (ref_doc)=(l0001) is not present in table "document".
Cette erreut ce produit tjs a l'inserrtion de valeur dans une table d'association. Je n'y comprend rien vu que la valeur de ref_doc se trouve bien ds la table document:!!!!
HELP!:!!
HELP!!
merci
Partager