我知道删除多个表的语法是:
DROP TABLE foo, bar, baz;
但在我的情况下,3个表之间有外键,其他表不能删除。
那么如何删除这3张桌子呢?他们在表格中有数据。上面的语法会忽略外键吗?数据库中的其他表不应存在任何数据不一致。
答案 0 :(得分:12)
您可以告诉Postgres使用cascade
关键字自动删除引用这些表的所有外键:
DROP TABLE foo, bar, baz CASCADE;
答案 1 :(得分:0)
通常,
如果Table1,Table2和Table3的主键在数据库中的任何其他表中被称为外键,则可能会出现不一致。
如果你有,那么删除这些表的最安全方法是
通过 -
首先降低这些表中的约束力ALTER TABLE table_name DROP CONSTRAINT "table_name_id_fkey";
然后逐个删除这些表。