Hi, I have the following tables : CREATE TABLE tournee ( no_tournee SERIAL PRIMARY KEY);
CREATE TABLE fab_tournee ( id SERIAL PRIMARY KEY, id_fab INTEGER REFERENCES fabrication ON DELETE CASCADE, no_tournee INTEGER REFERENCES tournee ON DELETE CASCADE); When I insert a new record into 'fab_tournee' whereas the field 'no_tournee' doesnt exist in 'tournee', I have this message : ERROR: <unnamed> referential integrity violation - key referenced from fab_tournee not found in tournee but 'id' increments in 'fab_tournee'. Is it a normal behaviour ? *************** LOG ****************************** piid=> select * from fab_tournee ; id | id_fab | no_tournee ----+--------+------------ (0 lignes) piid=> insert into fab_tournee (id_fab, no_tournee) values(2, 1); ERROR: <unnamed> referential integrity violation - key referenced from fab_tour nee not found in tournee piid=> select * from tournee; no_tournee ------------ (0 lignes) piid=> insert into tournee values (1); INSERT 17355 1 piid=> insert into fab_tournee (id_fab, no_tournee) values(2, 1); INSERT 17356 1 piid=> select * from fab_tournee ; id | id_fab | no_tournee ----+--------+------------ 2 | 2 | 1 (1 ligne) ************************************** ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster