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
10 回答
SQL命令是:
请参阅完整语法here .
如果您想从数据库图表中执行此操作:
右键单击表格并选择'Indexes/Keys'
单击“添加”按钮以添加新索引
在右侧的属性中输入必要的信息:
您想要的列(单击省略号按钮进行选择)
set是唯一的Yes
给它一个合适的名字
在SQL Server Management Studio Express中:
右键单击表,选择 Modify 或 Design(For Later Versions)
右键单击字段,选择 Indexes/Keys...
点击 Add
对于 Columns ,选择您想要唯一的 field name .
对于 Type ,选择 Unique Key .
单击 Close , Save 表 .
警告:您设置为唯一的列中只能有一个空行 .
您可以使用SQL 2008中的筛选索引执行此操作:
有关一系列答案,请参阅Field value must be unique unless it is NULL .
我还发现你可以通过数据库图表来做到这一点 .
通过右键单击表并选择索引/键...
单击“添加”按钮,将列更改为您希望使其唯一的列 .
变化是独一无二的 .
单击关闭并保存图表,然后将其添加到表中 .
您正在寻找以下内容
MSDN Docs
要在已创建表时在一列或多列上创建UNIQUE约束,请使用以下SQL:
允许为上述查询命名UNIQUE约束
MySQL / SQL Server / Oracle / MS Access支持的查询 .
在管理工作室图表中选择表格,如果需要,右键单击以添加新列,右键单击该列并选择“检查约束”,您可以在其中添加一个 .
在某些情况下,可能需要确保在创建Unique键之前不存在该唯一键 . 在这种情况下,下面的脚本可能会有所帮助: