在包含多个表的给定数据库中
从一个主表以及所有其他关联表中删除数据(1条记录)的有效方法是什么。
答案 0 :(得分:1)
一种可能的解决方案是定义在FK上删除的级联行为。
例如:
CREATE TABLE orders (
order_id integer PRIMARY KEY,
...
);
CREATE TABLE order_items (
...
order_id integer REFERENCES orders ON DELETE CASCADE,
...
);
在这种情况下,如果有人删除了订单,订单商品也会被删除。 CASCADE指定当删除引用的行时,也应自动删除引用它的行。
参考: http://www.postgresql.org/docs/current/static/ddl-constraints.html