[postgresql][foreign key]
Bonjour,
Je voudrais creer une table contenant une clé étrangère et je voudrais que la valeur de la clé étrangère puisse être à null, car j'insère mes données dans la première table avant de remplir la table contenant la clé étrangère.
ex:
CREATE TABLE treatment (id_trt serial NOT NULL, name_trt varchar(70) NOT NULL,PRIMARY KEY (id_trt));
CREATE TABLE patient (id_pat serial NOT NULL, name_pat varchar(70) NOT NULL, id_trt integer null,PRIMARY KEY (id_pat ), foreign key (id_trt) REFERENCES treatment (id_trt) ON UPDATE CASCADE ON DELETE CASCADE );
Voila je veux insérer les données dans la table patient avant celles de la table traitement, et lorsque j'esaie j'ai un message d'erruer:
ERROR: <unnamed> referential integrity violation - key referenced from patient not found in treatment
Pourriez vous m'éclairer ?Merci
Re: [postgresql][foreign key]
Citation:
Envoyé par elea1206
Bonjour,
Je voudrais creer une table contenant une clé étrangère et je voudrais que la valeur de la clé étrangère puisse être à null, car j'insère mes données dans la première table avant de remplir la table contenant la clé étrangère.
ex:
CREATE TABLE treatment (id_trt serial NOT NULL, name_trt varchar(70) NOT NULL,PRIMARY KEY (id_trt));
CREATE TABLE patient (id_pat serial NOT NULL, name_pat varchar(70) NOT NULL, id_trt integer null,PRIMARY KEY (id_pat ), foreign key (id_trt) REFERENCES treatment (id_trt) ON UPDATE CASCADE ON DELETE CASCADE );
Code:
1 2 3 4 5 6 7
|
create table patient(
id_pat serial not null primary key,
name_pat varchar(70) not null,
id_trt integer,
constraint fk_patient foreign key (id_trt) references treatment(id_trt) on update cascade on delete cascade
); |