首页 > 解决方案 > 在 Ms Access 中创建复合外键

问题描述

我想用可视化编辑器在两个字段上创建一个外键。

TabA: (idA, idB) <- idB 是主键,(idA,idB) 是唯一的

TabB: (id, idA, idB) <- id 是主键,(idA,idB) 的索引不为空

我可以在可视化编辑器中连接两个表。但是当我设置参照完整性时,我收到错误:“主表中的引用字段没有唯一索引”(翻译自德语)。

问题出在哪里?

编辑:

我终于发现我以错误的方式使用编辑器。我的错,我开始从错误的表中拖动字段。如果我做得对,一切都会按预期进行。

我不确定,如果我会删除这个问题。

标签: ms-access

解决方案


TabA: (idA, idB) <- idB 是主键,(idA,idB) 是唯一的

但这行不通。要么使用 idB 作为子表中的外键,要么将 (idA, idB) 指定为 TabA 中的主键(主意)。

顺便说一句,在定义 RI 时,Access 会自动为子表上的外键创建唯一索引。但是,它将被隐藏。但是您没有手动创建它。


推荐阅读