无法与具有可延迟主键的表建立关系

时间:2012-12-13 20:59:30

标签: postgresql pgadmin

我正在构建我的第一个PostgreSQL数据库。现在它只是两个表(表A与表B的1:N关系)。表A具有不可延迟的主键,而表B具有可延迟的主键。当我尝试使用指向表B的主键(另一个1:N关系)的外键添加表C时,PgAdmin拒绝创建表并返回错误消息:

  

错误:不能对引用的表使用可延迟的唯一约束   “表-B”

从我以前的搜索中,可推迟的主键似乎是正常的解决方案。 PgAdmin真的可以吗?我需要一些特殊技巧才能运行吗?

我在32位Windows XP上使用PostgreSQL 9.1.3和PgAdmin III 1.14.3。

1 个答案:

答案 0 :(得分:4)

我相信这是不可能的。引用PostgreSQL docs关于外键:

  

引用的列必须是不可延迟的唯一列   或引用表中的主键约束。