1

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

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

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

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

4

1 回答 1

4

我相信这是不可能的。引用 PostgreSQL文档中关于外键的内容:

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

于 2012-12-13T21:26:09.823 回答