在MS Access中创建复合外键

时间:2018-08-27 10:31:58

标签: ms-access

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

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

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

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

问题出在哪里?

编辑:

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

我不确定是否要删除问题。

1 个答案:

答案 0 :(得分:0)

  

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

但是那行不通。要么将idB用作子表中的外键,要么将(idA,idB)分配给TabA中的主键( bad idea)。

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