SQL Server 2005如何创建唯一约束?

SQL Server 2005如何创建唯一约束?,sql,sql-server,constraints,Sql,Sql Server,Constraints,如何在SQLServer2005中对现有表创建唯一约束 我正在数据库图中查找TSQL以及如何执行它。您正在查找以下内容 ALTER TABLE dbo.<tablename> ADD CONSTRAINT <namingconventionconstraint> UNIQUE NONCLUSTERED ( <columnname> ) ON [PRIMARY] ALTER TABLE d

如何在SQLServer2005中对现有表创建唯一约束


我正在数据库图中查找TSQL以及如何执行它。

您正在查找以下内容

ALTER TABLE dbo.<tablename> ADD CONSTRAINT
            <namingconventionconstraint> UNIQUE NONCLUSTERED
    (
                <columnname>
    ) ON [PRIMARY]
ALTER TABLE dbo.doc_exz
ADD CONSTRAINT col_b_def
UNIQUE column_b

在management studio图表中选择表格,右键单击以添加新列(如果需要),右键单击该列并选择“检查约束”,您可以在其中添加一个。

我还发现您可以通过数据库图表来执行此操作

通过右键单击表并选择索引/键

单击“添加”按钮,将列更改为您希望唯一的列

改变是独一无二的

单击关闭并保存图表,它将把它添加到表中。

SQL命令是:

ALTER TABLE [TableName] ADD CONSTRAINT  [constraintName] UNIQUE ([columns])
ALTER TABLE <tablename> ADD CONSTRAINT
            <constraintname> UNIQUE NONCLUSTERED
    (
                <columnname>
    )
请参阅完整语法

如果要从数据库关系图执行此操作,请执行以下操作:

右键单击表并选择“索引/键” 单击“添加”按钮添加新索引 在右侧的属性中输入必要的信息: 所需的列单击省略号按钮进行选择 集合是唯一的“是” 给它一个合适的名字
警告:设置为唯一的列中只能有一个空行

您可以使用SQL 2008中的筛选索引执行此操作:

CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;

请参阅以获取一系列答案。

在SQL Server Management Studio Express中:

在表上单击鼠标右键,选择“修改”或“为更高版本设计” 右键单击字段,选择索引/键。。。 单击添加 对于列,选择要唯一的字段名。 对于“类型”,选择“唯一键”。 单击“关闭”,保存表。
要在已创建表时在一列或多列上创建唯一约束,请使用以下SQL:

ALTER TABLE TableName ADd UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)
允许为上述查询命名唯一约束的步骤

ALTER TABLE TableName ADD CONSTRAINT un_constaint_name UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)

MySQL/SQL Server/Oracle/MS Access支持的查询。

在某些情况下,可能需要在创建唯一密钥之前确保它不存在。在这种情况下,下面的脚本可能会有所帮助:

IF Exists(SELECT * FROM sys.indexes WHERE name Like '<index_name>')
    ALTER TABLE dbo.<target_table_name> DROP CONSTRAINT <index_name> 
GO

ALTER TABLE dbo.<target_table_name> ADD CONSTRAINT <index_name> UNIQUE NONCLUSTERED (<col_1>, <col_2>, ..., <col_n>) 
GO

在SQLServer2005中如何做到这一点?在SQLServer2005中是无法实现的。我强烈建议升级到最新的RDBMS-从2016年4月12日开始。它可以。。。但是为什么约束显示在索引文件夹下而不是约束文件夹下。它以另一个图标显示,但无论如何,它应该位于约束文件夹。唯一非聚集和选项PAD\u INDEX=OFF、STATISTICS\u norecocomputer=OFF、IGNORE\u DUP\u KEY=OFF、ALLOW\u ROW\u LOCKS=ON、ALLOW\u PAGE\u LOCKS=ON?