UB0*_*B01 7 index sql-server-2008 clustered-index clustered-primary-key
在 Sql Server (2008) 中,是否可以PRIMARY KEY在一组列上有一个而没有同一组列上的任何一个CLUSTERED或NONCLUSTERED索引?
我知道PRIMARY KEY和CLUSTERED INDEXkey 是不同的概念,我们可以在PRIMARY KEY没有CLUSTERED INDEX它的情况下创建(见下文)。
ALTER TABLE dbo.Sample
ADD CONSTRAINT PK_Sample_SeqGUID_Col1 PRIMARY KEY NONCLUSTERED (SeqGUID_Col1)
Run Code Online (Sandbox Code Playgroud)
但我的问题是看看是否可以PRIMARY KEY在没有CLUSTERED或NONCLUSTERED索引的表上创建。
不,主键约束总是通过唯一索引在 SQL-Server 中强制执行。索引可以是聚集的或非聚集的。如果您不指定哪种类型,则默认CLUSTERED为主键。从MSDN 文档中,CREATE TABLE:
CLUSTERED | NONCLUSTERED指示为
PRIMARY KEYorUNIQUE约束创建聚集索引或非聚集索引。PRIMARY KEY约束默认为CLUSTERED,UNIQUE约束默认为NONCLUSTERED。在一个
CREATE TABLE语句中,CLUSTERED只能指定一个约束。如果CLUSTERED为UNIQUE约束指定了并且PRIMARY KEY还指定了约束,则PRIMARY KEY默认为NONCLUSTERED。
| 归档时间: |
|
| 查看次数: |
225 次 |
| 最近记录: |