ALTER TABLE unite_maintenance ADD COLUMN id_contrats integer; update unite_maintenance um set id_contrats = ( select max(pre.id_contrats) from prestations pre inner join prestations_unite_maintenance pum on pre.id_prestations = pum.id_prestations where pum.id_unite_maintenance=um.id_unite_maintenance ) ; --alter table prestations drop column id_contrats --Delete from unite_maintenance where id_contrats = 696 --Delete from unite_maintenance where id_contrats = 690 ALTER TABLE unite_maintenance ADD FOREIGN KEY (id_contrats) REFERENCES contrats (id_contrats) ON UPDATE NO ACTION ON DELETE NO ACTION; CREATE INDEX fki_unite_maintenance_contrat ON unite_maintenance(id_contrats);