3

抱歉,如果我弄错了术语。如何在 MSSQL Server 2005 中定义约束以根据另一列强制一列的唯一性?

例如考虑最后两列:

1    A    1
2    A    2
3    A    2 <- Disallow because '2' has already appeared alongside 'A'
4    B    1
5    B    2
4

3 回答 3

7

试试这个:

创建表
    (field1 CHAR(1) NOT NULL,
     field2 INT NOT NULL,
     唯一(字段 1,字段 2)
)
于 2009-01-20T11:32:23.497 回答
1

在 2 列上创建唯一约束?

这是最合乎逻辑的做法,因为似乎这一列不是唯一的,但两列的组合必须是唯一的。

于 2009-01-20T11:34:46.393 回答
0

不需要是主键,只需要一个唯一的复合索引。

于 2009-01-20T13:47:04.147 回答