PostgreSQL中的外键表继承?

前端之家收集整理的这篇文章主要介绍了PostgreSQL中的外键表继承?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有三个表:organization,organization_teams和org_users.这里organization_teams是从组织继承的.所以假设如果在organizational_teams中添加了一个记录,那么它将在organization_teams中将组织表id作为id列的值.

org_users在组织的id列上有外键.现在,当我尝试在org_users中插入数据时,会给出如下错误

insert or update on table "org_users" violates foreign key constraint "org_users_organizations"
DETAIL:  Key (org_id)=(12) is not present in table "organizations"

为什么?

covered in the user manual.

简短版本:您可以使用外键或表继承,但不能同时使用.这并不是固有的不可能的,只是在技术上难以实现以快速,可靠的方式跨越Postgresql中的继承表的唯一索引.没有,你不能有一个有用的外键.没有人成功地实施了一个补丁,添加支持被Postgresql接受.

外键可以指向作为继承层次结构的一部分的表,但它只会在该表中找到行.不在任何父或子表中.要查看外键看哪些行,请执行SELECT * FROM ONLY表. ONLY关键字意味着“忽略继承”,这就是外键查找将会做的.

猜你在找的Postgre SQL相关文章