Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 如何在SQLServer2005中创建复合唯一约束_Sql Server 2005_Constraints - Fatal编程技术网

Sql server 2005 如何在SQLServer2005中创建复合唯一约束

Sql server 2005 如何在SQLServer2005中创建复合唯一约束,sql-server-2005,constraints,Sql Server 2005,Constraints,最好我想知道如何使用SQLServerManagementStudio界面来完成,但这并不是完全必要的。如果您只是有一个脚本在创建表后添加一个脚本,那就可以了。试试以下方法: ALTER TABLE dbo.YourTableName ADD CONSTRAINT ConstraintName UNIQUE NONCLUSTERED ( Column01, Column02, Column03 ) 我使用业务名称作为约束条件,因此,如果违反了约束条件并出现异常,我会在

最好我想知道如何使用SQLServerManagementStudio界面来完成,但这并不是完全必要的。如果您只是有一个脚本在创建表后添加一个脚本,那就可以了。

试试以下方法:

ALTER TABLE dbo.YourTableName 
ADD CONSTRAINT
ConstraintName UNIQUE NONCLUSTERED
(
    Column01,
    Column02,
    Column03
)

我使用业务名称作为约束条件,因此,如果违反了约束条件并出现异常,我会在错误消息中得到“每个员工只违反一个部门”,而不是SQL Server Management Studio中的“ConstraintXXX违反”。

  • 转到对象资源管理器
  • 选择您的表并打开它的设计器(不记得它在2005年被称为什么-修改表还是什么?)
  • 在表设计器中,从工具栏(带有小键的表)中选择“管理索引和键”图标
  • 在那里,添加一个新索引并给它命名,单击它的“唯一”设置

  • 打开索引定义中的列列表,并在索引中添加要保存的列


就这样!:)

酷。奇怪的是,这是在索引部分而不是约束部分。唯一约束基本上是由唯一索引处理的——这就是为什么。