如何在 Access 中实现自反主键/外键关系?

Posted

技术标签:

【中文标题】如何在 Access 中实现自反主键/外键关系?【英文标题】:How can I implement a reflexive primary/foreign key relationship in Access? 【发布时间】:2019-01-08 23:08:01 【问题描述】:

MS Office 265 专业增强版,Access 2007 - 2016 我是新手。

我有一张名为 pedigree 的表。我有 3 列...

姓名(文字) ID(自增整数,主键) Parent_ID(整数)

我想实现一个约束,该约束要求每条记录的“parent_ID”值作为同一表中其他一些记录的 ID 值存在(反身主/外键设置)。

在 Access 中,我转到“数据库工具”选项卡,然后转到“关系”,然后打开表两次并将其中一个的 ID 列与另一个的“Parent_ID”相关联。它没有抱怨,保存好了。当我运行它时,它似乎不起作用。我可以将具有可用 ID 值池之外的 Parent_ID 值的记录放入表中。

有什么线索吗?

另外,如果有不同/更好的方法可以做到这一点,我会全力以赴。我在网上某处读到了“数据库工具”->“关系”方法,但我对任何可能有效的方法持开放态度。

【问题讨论】:

您是否勾选了复选框:Enforce Referential Integrity 经过一番挣扎后,我能够设置“强制参照完整性”,它现在可以工作了。谢谢古斯塔夫! 【参考方案1】:

而我(新手)的解决方案是……

设置关系的“强制参照完整性”。

感谢古斯塔夫的提示!

【讨论】:

以上是关于如何在 Access 中实现自反主键/外键关系?的主要内容,如果未能解决你的问题,请参考以下文章

在新建数据库(Access)中,如何设置主键?

如何在 .NET EF Core 中实现自引用多对多关系

powerdesigner怎么设置外键关系

在spring boot中实现自定义错误

MS Access表与多个外键在同一表中的关系。

如何使用 SQL 在 MS Access 中“删除”和未命名的关系/约束?