首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >价值唯一性检查跨越几个字段的所有记录?

价值唯一性检查跨越几个字段的所有记录?
EN

Stack Overflow用户
提问于 2014-06-05 18:44:45
回答 1查看 462关注 0票数 0

我刚接触MS,希望我的问题很简单,但我还没有通过googling找到一个清晰的答案。

我有一个带有表的简单数据库,并且有一个字段子集,这些字段必须具有唯一的内容。我理解如何设置它,以便跨所有记录的特定字段必须是唯一的,但我需要跨越所有记录的几个字段才有唯一的内容。

例如,只有一个字段,在一个记录中,跨字段4-10,在所有记录中,都可以有数字'1‘。如果“1”位于记录A的字段5中,则不可能也位于记录F的字段8中。

比方说,假设我们正在建造电脑,每台电脑都有1或2张视频卡。在数据库中,一些字段正在存储安装在该插槽中的视频卡的序列号。显然,序列号是唯一的,同一卡不能安装在两个插槽中,无论是在同一台计算机上,还是在两台不同的计算机上。我需要数据库来防止用户输入重复的序列号。在示例图像中,在不同记录的不同字段中存在相同序列号的重复。这是不应该允许的。示例

是否有一种内置的方式来实现这种用户条目检查?如果没有,我如何实现它?

EN

回答 1

Stack Overflow用户

发布于 2014-06-05 20:35:17

你想要一个独特的综合指数。做这个

  • 转到表上的设计视图
  • 打开Indexes编辑器窗口
  • 转到新行,输入新索引的名称,选择Field Name
  • 在“索引属性”窗格中,将Unique属性更改为Yes
  • 转到新行,不要输入索引名称,选择另一个Field Name

完成

编辑:

真正的问题是您需要将数据规范化。Slot #1Slot #2并不是真正的列。你需要这样布置你的桌子

不是将所有三列都设置为复合主键,而是将VideoCard列索引为不允许重复列。

然后,当您输入您的坏数据时,您将得到以下消息:

它不会让你提交,直到你输入好的数据。

如果您需要显示与原始示例类似的旋转数据,则可以在交叉选项卡查询中完成此操作。

会产生这样的结果

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24067877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档