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

时间:2011-04-12 13:18:06

标签: sql unique ms-access-2003 constraints

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

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

如果我的表包含列id, A, B, C, D, E, F。我在列 id 上有一个索引,但我希望在AB列上设置唯一约束。因此,如果A列中的值不同,我可能会在B列中出现重复值。

我想在创建新列的解决方法中强调我不感兴趣,其中包含来自列AB的连续值,并在此列上创建约束。

2 个答案:

答案 0 :(得分:21)

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

您现在在A列和B列上有唯一索引。我对A& amp;的独特指数B在这里被称为鲍里斯:

enter image description here

答案 1 :(得分:6)

ANSI-92 Query Mode中,执行此SQL DDL:

ALTER TABLE MyTable ADD 
   CONSTRAINT MyTable__key
      UNIQUE (A, B);

在Access中使用VBA:

CurrentProject.Connection.Execute _
    "ALTER TABLE MyTable ADD CONSTRAINT MyTable__key UNIQUE (A, B);"