可以通过执行以下命令禁用 PostgreSQL 中的外键引用完整性:
ALTER TABLE schema.my_table
DISABLE TRIGGER ALL;
但不幸的是,该命令还将禁用表中存在的所有其他触发器。
我尝试在pg_constraint
视图中查找外键的名称,但在以下命令中使用它会返回错误:
ALTER TABLE schema.my_table
DISABLE TRIGGER id_fkey;
-- Returns
-- SQL Error [42704]: ERROR: trigger "id_fkey" for table "my_table" does not exist
如何在不禁用其他触发器的情况下在 PostgreSQL 中禁用引用完整性?
首先,您必须找出表上系统触发器的名称:
然后你必须禁用这些触发器:
请注意,禁用外键可能会破坏您的数据库。