我刚接触MS,希望我的问题很简单,但我还没有通过googling找到一个清晰的答案。
我有一个带有表的简单数据库,并且有一个字段子集,这些字段必须具有唯一的内容。我理解如何设置它,以便跨所有记录的特定字段必须是唯一的,但我需要跨越所有记录的几个字段才有唯一的内容。
例如,只有一个字段,在一个记录中,跨字段4-10,在所有记录中,都可以有数字'1‘。如果“1”位于记录A的字段5中,则不可能也位于记录F的字段8中。
比方说,假设我们正在建造电脑,每台电脑都有1或2张视频卡。在数据库中,一些字段正在存储安装在该插槽中的视频卡的序列号。显然,序列号是唯一的,同一卡不能安装在两个插槽中,无论是在同一台计算机上,还是在两台不同的计算机上。我需要数据库来防止用户输入重复的序列号。在示例图像中,在不同记录的不同字段中存在相同序列号的重复。这是不应该允许的。示例
是否有一种内置的方式来实现这种用户条目检查?如果没有,我如何实现它?
发布于 2014-06-05 20:35:17
你想要一个独特的综合指数。做这个
Indexes
编辑器窗口Field Name
Unique
属性更改为Yes
Field Name
完成
编辑:
真正的问题是您需要将数据规范化。Slot #1
和Slot #2
并不是真正的列。你需要这样布置你的桌子
不是将所有三列都设置为复合主键,而是将VideoCard
列索引为不允许重复列。
然后,当您输入您的坏数据时,您将得到以下消息:
它不会让你提交,直到你输入好的数据。
如果您需要显示与原始示例类似的旋转数据,则可以在交叉选项卡查询中完成此操作。
会产生这样的结果
https://stackoverflow.com/questions/24067877
复制相似问题