【发布时间】:2011-04-01 00:31:47
【问题描述】:
在 SQL Server 2008 上运行选择查询,sys.indexes 为我提供了有关为数据库定义的索引的信息。
有 2 个字段 is_unique 和 is_unique_constraint。我不明白它们的区别。
【问题讨论】:
标签: sql sql-server sql-server-2005 sql-server-2008 sql-server-2000
在 SQL Server 2008 上运行选择查询,sys.indexes 为我提供了有关为数据库定义的索引的信息。
有 2 个字段 is_unique 和 is_unique_constraint。我不明白它们的区别。
【问题讨论】:
标签: sql sql-server sql-server-2005 sql-server-2008 sql-server-2000
希望这个简单的演示能让您更清楚地了解情况。表 X 上的索引将设置两个值,而表 Y 上的索引将仅设置 is_unique。
create table X (
id int CONSTRAINT x_is_unique UNIQUE
)
create table Y (
id int
)
create unique index y_is_unique on Y(id)
select name, is_unique, is_unique_constraint
from sys.indexes
where object_id in (object_id('X'), object_id('Y'))
and name is not null
drop table X
drop table Y
【讨论】: