SQL Server 2005如何创build一个唯一的约束?

如何在SQL Server 2005中的现有表上创build一个唯一的约束?

我正在寻找TSQL和如何在数据库图中做到这一点。

SQL命令是:

ALTER TABLE <tablename> ADD CONSTRAINT <constraintname> UNIQUE NONCLUSTERED ( <columnname> ) 

在这里查看完整的语法。

如果你想从数据库图中做到这一点:

  • 右键单击表格并select“索引/键”
  • 点击添加button添加一个新的索引
  • 在右侧的属性中input必要的信息:
    • 你想要的列(点击省略号buttonselect)
    • 设置为“是”是唯一的
    • 给它一个合适的名字

在SQL Server Management Studio Express中:

  • 右键单击表格,select“ 修改”或“ devise”(适用于以后的版本)
  • 右键单击字段,select索引/键…
  • 点击添加
  • 对于 ,请select您想要唯一的字段名称
  • 对于types ,请select唯一密钥
  • 单击closures保存表。
 ALTER TABLE [TableName] ADD CONSTRAINT [constraintName] UNIQUE ([columns]) 

警告:只有一个空行可以在您设置为唯一的列中。

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

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

请参阅字段值必须是唯一的,除非对于一系列答案它是NULL 。

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

我也发现你可以通过数据库图来做到这一点。

通过右键单击表并select索引/键…

点击“添加”button,然后将列更改为您希望唯一的列。

更改是唯一的是。

点击closures并保存图表,并将其添加到表格中。

你正在寻找像下面这样的东西

 ALTER TABLE dbo.doc_exz ADD CONSTRAINT col_b_def UNIQUE column_b 

MSDN文档

在pipe理工作室图表中select表格,右键单击添加新列,如果需要,右击列并select“检查约束”,在那里你可以添加一个。

要在创build表时在一个或多个列上创buildUNIQUE约束,请使用以下SQL:

 ALTER TABLE TableName ADd UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...) 

允许为上面的查询命名一个UNIQUE约束

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

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