SysIndex - 差异b / w is_unique和is_unique_constraint

时间:2010-08-19 09:14:22

标签: sql sql-server sql-server-2005 sql-server-2008 sql-server-2000

在SQL Server 2008上运行select查询,sys.indexes为我提供了有关数据库索引定义的信息。

有2个字段is_unique和is_unique_constraint。我不明白它们之间的区别。

1 个答案:

答案 0 :(得分:1)

希望这个简单的演示能让你更清楚。表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