如何在 MS Access 中定义复合键?

Posted

技术标签:

【中文标题】如何在 MS Access 中定义复合键?【英文标题】:How to define composite keys in MS Access? 【发布时间】:2011-06-13 19:13:51 【问题描述】:

我是 MS Access 的新手。谁能告诉我如何在 MS Access 2007 中定义复合主键。

【问题讨论】:

【参考方案1】:

如果记忆正确,您可以在选择设计视图中的字段时按住 SHIFT。选择要成为键一部分的所有字段后,按主键按钮。

【讨论】:

转移,而不是控制。或者,您可以在索引属性表中选择它们,在第一列中使用索引名称,而对于复合索引的后续字段,第一列中没有任何内容。【参考方案2】:

已经回答,但我想补充一些信息。

解决我的相关问题后,按住“ctrl”+点击设计视图中的多个列,然后点击左上角的“主键”图标效果很好。

我收到一条错误消息,

您请求对表格进行的更改未成功,因为 他们会在索引、主键或 关系。

我不确定这是我的数据,还是我做错了什么。果然是我的数据——我无意中输入了重复的数据。

我使用从dbforums.com post 中略读的以下查询来快速识别问题:

SELECT ColumnName1
     , ColumnName2
     , ColumnName3
     , ColumnName4
FROM   TableName 
GROUP
    BY ColumnName1
     , ColumnName2
     , ColumnName3
     , ColumnName4
HAVING Count(*) > 1

在将 SQL 调整到我的表之后,查询立即指出了有问题的条目。我消除了它,修复了我的表中允许创建重复项的问题,并且能够创建我的复合主键没问题。

【讨论】:

以上是关于如何在 MS Access 中定义复合键?的主要内容,如果未能解决你的问题,请参考以下文章

在 MS-Access 中,当外键不再存在时,如何在组合框中显示旧的外键?

如何在hibernate中定义复合外键映射?

如何将 MS Access 数据库与架构一起导出?

如何使用注释创建休眠复合键

EF Code-First如何使用复合键从表中读取A.

如何在房间中制作复合键