小编Rac*_* G.的帖子

外键可以引用与“源”相同的表吗?

我确信我已经这样做过无数次了,但我找不到我以前这样做过的任何用途。但这似乎很有道理,所以我认为这一定是可能的?然而,手册上说:

外键约束指定一列(或一组列)中的值必须与另一个表的某些行中出现的值相匹配。

强调我的。资料来源:https ://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK

我有一个簿记表,每当交易“更正”或“更新”前一个交易时,我都会有一列名为“更正 id”的列,它是一个 bigint,对我来说,将其作为外键是非常有意义的这样的:

..., FOREIGN KEY ("corrects id") REFERENCES bookkeeping (id)
Run Code Online (Sandbox Code Playgroud)

注意:“更正id”是“簿记”表中的一列,id是同一个表的主键(bigserial)。

这肯定是正确的吗?那么为什么手册上说必须是另一张桌子呢?如果可以引用同一张表,为什么名称是“FOREIGN”键?

postgresql foreign-key

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

foreign-key ×1

postgresql ×1