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

Dav*_*rab 181 sql sql-server constraints

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

我正在寻找TSQL以及如何在数据库图表中完成它.

Ror*_*ory 272

SQL命令是:

ALTER TABLE <tablename> ADD CONSTRAINT
            <constraintname> UNIQUE NONCLUSTERED
    (
                <columnname>
    )
Run Code Online (Sandbox Code Playgroud)

请参阅此处的完整语法.

如果您想从数据库图表中执行此操作:

  • 右键单击表并选择"索引/键"
  • 单击"添加"按钮以添加新索引
  • 在右侧的属性中输入必要的信息:
    • 你想要的列(点击省略号按钮选择)
    • 设置是独特的是
    • 给它一个合适的名字


Jam*_*ruk 84

在SQL Server Management Studio Express中:

  • 右键单击表,选择" 修改"或" 设计"(对于以后的版本)
  • 右键单击字段,选择" 索引/键"...
  • 单击添加
  • 对于" 列",请选择要唯一的字段名称.
  • 对于Type,选择Unique Key.
  • 单击关闭,保存表格.


Wil*_*Joe 29

ALTER TABLE [TableName] ADD CONSTRAINT  [constraintName] UNIQUE ([columns])
Run Code Online (Sandbox Code Playgroud)


Squ*_*rel 15

警告:您设置为唯一的列中只能有一个空行.

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

CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;
Run Code Online (Sandbox Code Playgroud)

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

  • 它在sql server 2005中无法实现.我强烈建议升级到更新的RDBMS - 它将[官方不支持](http://blogs.msdn.com/b/sqlreleaseservices/archive/2011/01截至2016年4月12日的/27/end-of-mainstream-support-for-sql-server-2005-and-end-of-service-pack-support-for-sql-server-2008-sp1.aspx). (2认同)

Iva*_*nic 13

ALTER TABLE dbo.<tablename> ADD CONSTRAINT
            <namingconventionconstraint> UNIQUE NONCLUSTERED
    (
                <columnname>
    ) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)


Dav*_*rab 10

我还发现你可以通过数据库图表来做到这一点.

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

单击"添加"按钮,将列更改为您希望使其唯一的列.

变化是独一无二的.

单击关闭并保存图表,然后将其添加到表中.


Thu*_*er3 8

您正在寻找以下内容

ALTER TABLE dbo.doc_exz
ADD CONSTRAINT col_b_def
UNIQUE column_b
Run Code Online (Sandbox Code Playgroud)

MSDN文档


Raf*_*fiq 6

要在已创建表时在一列或多列上创建UNIQUE约束,请使用以下SQL:

ALTER TABLE TableName ADd UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)
Run Code Online (Sandbox Code Playgroud)

允许为上述查询命名UNIQUE约束

ALTER TABLE TableName ADD CONSTRAINT un_constaint_name UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)
Run Code Online (Sandbox Code Playgroud)

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


Gib*_*ons 5

在管理工作室图表中选择表格,如果需要,右键单击以添加新列,右键单击该列并选择"检查约束",您可以在其中添加一个.