Access 2003中多个字段的唯一约束

MPę*_*ski 8 sql constraints unique ms-access-2003

我没有找到任何关于我的问题的答案,所有独特的约束问题都不涉及MS Access.

问题是如何对MS Access 2003数据库中的多个堆栈字段进行唯一约束?

如果我的表包含列id, A, B, C, D, E, F.我有列的索引ID,但我想有一个唯一约束两列设置AB.因此,如果列中A的值B不同,我可能在列中具有重复值.

我想强调的是,我没有兴趣在这样一种变通方法创建新列的列与连接值AB,并创建该列的约束.

Dam*_*ver 21

如果要通过UI执行此操作,请在设计视图中打开表.打开索引窗口.输入新的索引名称,标识列A,将索引标记为唯一.然后在该行下面添加第二行,不要在该行上指定索引名称,并标识列B.关闭索引窗口并保存表.

你现在在列A和BEg上有一个唯一索引我在A&B上的唯一索引在这里被称为Boris:

在此输入图像描述


one*_*hen 6

ANSI-92查询模式下,执行此SQL DDL:

ALTER TABLE MyTable ADD 
   CONSTRAINT MyTable__key
      UNIQUE (A, B);
Run Code Online (Sandbox Code Playgroud)

在Access中使用VBA:

CurrentProject.Connection.Execute _
    "ALTER TABLE MyTable ADD CONSTRAINT MyTable__key UNIQUE (A, B);"
Run Code Online (Sandbox Code Playgroud)

  • 是的,我知道它有效.但是如果你考虑一般的Access用户,那么我认为他对SQL知之甚少.至少在我工作的公司.也许我应该强调GUI解决方案将是最适合的解决方案.;) (3认同)
  • 它很棒,所以我赞成你的答案.但是我会接受@Damien_The_Unbeliever的答案,它给出了与你的解决方案完全相同的结果,因为他提供了一个明确的Access解决方案.将来,对于不了解SQL并希望使用Access的其他人可能会更有帮助.再次感谢您的时间. (2认同)