相关疑难解决方法(0)

如何基于2列创建SQL唯一约束?

我有一个像这样的表:

|UserId   |  ContactID |  ContactName 
---------------------------------------
| 12456   |  Ax759     |  Joe Smith
| 12456   |  Ax760     |  Mary Smith
| 12458   |  Ax739     |  Carl Lewis
| 12460   |  Ax759     |  Chuck Norris
| 12460   |  Bx759     |  Bruce Lee
Run Code Online (Sandbox Code Playgroud)

我需要为此表添加一个约束,以便没有用户可以拥有重复的联系人ID.用户正在从各种外部系统导入数据,因此ContactId不是全面唯一的,但在每个用户的基础上是唯一的.

我知道如何基于单列创建唯一和非空的约束,但是如何在2列中创建唯一的约束?

sql-server sql-server-2005 constraints unique-constraint sql-server-2008

57
推荐指数
3
解决办法
5万
查看次数

SQL Server 2008上的唯一键与唯一索引

我有一个名为的表countries,我country_name通过在SQL Server 2008 R2上创建"唯一键"类型的"索引/键"来定义列是唯一的.

但我有以下问题:

  1. 将创建"唯一键"类型的"索引/键"自动在此列上创建非聚集索引?
  2. 如果我将类型从"唯一键"更改为"索引"并且我将IsUnique值保持为"是",那么会有任何差异吗?
  3. 那么为什么有两个选项"Unique Key"和"Index"我认为两者是一样的?

sql t-sql sql-server sql-server-2008 sql-server-2008-r2

52
推荐指数
3
解决办法
3万
查看次数

SQL Server 2005对两列的唯一约束

如何在SQL Server 2005中将唯一约束添加到两列?所以我要说:

PK, A, B ...
x1  1  1
x2  1  2
x3  2  1
x4  2  2
Run Code Online (Sandbox Code Playgroud)

我不应该添加另一行'x5'并且A和B的值是1,1,因为它们已经在x1的数据库中了?

好的,我们设法让它工作,感谢OMG.转到表格视图,选择两列,右键单击并选择"索引/键" - 常规选项卡,选择要唯一的列,然后将"is unique"设置为true.这是使用表设计器.

谢谢.

sql sql-server sql-server-2005

32
推荐指数
2
解决办法
2万
查看次数