【发布时间】:2012-08-27 15:50:52
【问题描述】:
有没有办法让表定义基于两个字段的不重复?
由此我有 3 列 gid, cid, 价格
标准:
- 1 个
gid只能有1 个cid - 可以有多个
cid,只要有多个gid并且不违反条件1
如果可能的话,我基本上希望在表格设计中有限制。不知道它是否可能只是想我会问。
编辑(2010-08-27 上午 11:18 CST)
好吧,澄清一下,我也有两个索引,一个在gid,另一个在cid,我可以让这两个索引确定唯一性吗?该表基本上是一个 Join 表,因为绘制的两个表具有一对多关系,只要它们的对应项对其 id 是唯一的。
表/索引声明:
- gid {Numeric:Long}(主要:否,唯一:否,忽略空值:否)[FK]
- cid {Numeric:Long}(主要:否,唯一:否,忽略空值:否)[FK]
- 价格 {Numeric:Single}
用法:
- cid 1-许多 gid
- cid 源自 tblCat(作为 PK)
- gid 1-许多 cid
- gid 派生自 tblGrp(作为 PK)
【问题讨论】:
-
如果你问你是否有一个基于两个字段的唯一索引,是的,你可以。只要不是主要的,你甚至可以有空值。
-
添加了更多细节,但仍在适应新的(对我而言)Access 设计。
-
您是否在问如何使用 MS Access 中的两个字段创建索引?现有索引不相关。
-
你说的是复合主键吗?如果是这样,请在设计模式下按住 shift 或 ctrl。突出显示所有相关字段,然后单击主键按钮,这将显示多个主键。
-
我记得能够在另一个 DBMS 中执行复合键(不记得是哪个),但它允许我根据两个或多个字段限制不同的行条目,类似于执行 PK/FK 限制.我目前正在通过 SQL 语句进行限制,但如果我可以在表级别而不是 VBA 中的各个点定位限制,将会容易得多。我会尝试
Daniel的建议,看看是否得到所需的限制。