sql-server-2005 - 为什么 Microsoft 在 SQL Server 2005 中的表上提供了 2 个不同的选项来创建唯一索引?

标签 sql-server-2005 indexing unique

为什么 Microsoft 在 SQL Server 2008 中的表上提供了 2 个不同的选项来创建唯一索引?

管理索引/键:

1 ) type = 唯一键 ==> IsUnique = 是(IsUnique 已禁用) 2 ) 类型 = 索引 ==> IsUnique = 是

谢谢

最佳答案

它们映射到两个不同的SQL命令:

ALTER TABLE … ADD CONSTRAINT … UNIQUE

CREATE UNIQUE INDEX … ON …

CONSTRAINT UNIQUE是一个逻辑概念,而UNIQUE INDEX是它的物理实现。

SQL Server中,CONSTRAINT UNIQUE始终由唯一索引备份,该索引是使用与约束相同的名称隐式创建的,因此这些命令实际上是相同的.

从用户的角度来看,唯一的区别是约束可以隐式命名,但您应该始终为索引提供显式名称。

关于sql-server-2005 - 为什么 Microsoft 在 SQL Server 2005 中的表上提供了 2 个不同的选项来创建唯一索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2810201/

相关文章:

MySQL正在做全表筛选

postgresql - Postgresql 9.2+ 是否在其他索引中包含 PK 字段

javascript - 查找 .CSV 中的唯一值

spring - 如何使用多个数据源设置 spring data jpa

sql - 如果不同/更改则更新

c# - 数据库 "DBName"的日志尾部尚未备份

html - 获取 SQL 数据库邮件以格式化具有 2 列的 HTML 表

sql-server-2005 - 有没有办法在 SQL Server Management Studio Express 2005 的查询编辑器中查看空格?

Python Pandas isin 返回索引

java - 如何为实例设置唯一ID