在Postgres中创建反向级联约束

时间:2015-09-30 05:47:35

标签: sql postgresql

我有几个表和一个数据透视表,可以像这样链接它们:

CREATE TABLE table1
{
  id serial not null
}

CREATE TABLE table2
{
  id serial not null
}

CREATE TABLE table1_table2
{
  table1_id,
  table2_id,
  CONSTRAINT table1_table2_table1_id_foreign FOREIGN KEY (table1_id)
    REFERENCES table1 (id) MATCH SIMPLE
    ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT table1_table2_table2_id_foreign FOREIGN KEY (table2_id)
    REFERENCES table2 (id) MATCH SIMPLE
    ON UPDATE NO ACTION ON DELETE NO ACTION,
}

如您所见,当我从数据透视表中删除条目时,我想确保table1table2都不受影响;但是,我希望事实恰恰相反。如果我从table1删除一个条目,我希望它从数据透视表中删除所有相关条目。同样适用于table2

0 个答案:

没有答案