ms-access - 在 Ms Access 中创建复合外键
问题描述
我想用可视化编辑器在两个字段上创建一个外键。
TabA: (idA, idB) <- idB 是主键,(idA,idB) 是唯一的
TabB: (id, idA, idB) <- id 是主键,(idA,idB) 的索引不为空
我可以在可视化编辑器中连接两个表。但是当我设置参照完整性时,我收到错误:“主表中的引用字段没有唯一索引”(翻译自德语)。
问题出在哪里?
编辑:
我终于发现我以错误的方式使用编辑器。我的错,我开始从错误的表中拖动字段。如果我做得对,一切都会按预期进行。
我不确定,如果我会删除这个问题。
解决方案
TabA: (idA, idB) <- idB 是主键,(idA,idB) 是唯一的
但这行不通。要么使用 idB 作为子表中的外键,要么将 (idA, idB) 指定为 TabA 中的主键(坏主意)。
顺便说一句,在定义 RI 时,Access 会自动为子表上的外键创建唯一索引。但是,它将被隐藏。但是您没有手动创建它。
推荐阅读
- azure - 当我在 JAVA 中从我的 api 调用 post 时没有获得 azure oauth 令牌
- openrefine - 打开细化创建数值范围
- angular - 如果方法参数为 false,如何使服务 luanch 为 null 或 0
- python - 创建漂亮表格时看不到表格边框
- android - 启动 SplashScreen 时的 Resources$NotFoundException
- jenkins - 类似于 Jenkins Groovy 文件。有没有竹子的文件?
- kubernetes - 我们可以在没有 sidecar 或 init 容器的情况下将 vault 与 kubernetes 一起使用吗?
- data-visualization - Tableau - 度量值中的计数和百分比
- javascript - 我应该在 Promise 中包装 jquery ajax 还是直接返回 jquery ajax?
- c++ - 如何使用 scons 为使用 jenkins 的 solaris 兼容操作系统构建 C++ 代码?