如何在PostgreSQL查询中使用级联删除父表记录?

7

如何在PostgreSQL中使用级联删除一个父表中被其他子表引用的记录?目前出现了语法错误。

ERROR:  syntax error at or near "cascade"
LINE 1: DELETE FROM fs_item where itemid = 700001803 cascade;
2个回答

7
你需要按照以下方式添加 ON DELETE CASCADE 约束:
ALTER TABLE table1 ADD CONSTRAINT "tbl1_tbl2_fkey" FOREIGN KEY(reference_key) REFERENCES table2 ON DELETE CASCADE;

然后,您可以直接执行DELETE查询。

 DELETE FROM fs_item where itemid = 700001803

2

删除语句中不存在级联CASCADE。您需要将外键设置为级联删除,这样它就会自动进行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接