你能同时创建一个带索引的表吗?

时间:2010-04-06 16:03:48

标签: sql sql-server

我想创建一个表:

CREATE TABLE sfc.OpenId (
  Url VARCHAR(255) PRIMARY KEY,
  UserGuid uniqueidentifier NOT NULL references dbo.aspnet_users(userId),
)

...带有UserGuid的索引。

是否可以在create table语句中创建该索引?

3 个答案:

答案 0 :(得分:1)

如果UserGuid上的索引是唯一索引,则可以通过UNIQUE约束来执行此操作。否则,没有。

答案 1 :(得分:1)

  

是否可以在create table语句中创建该索引?

不,只能在CREATE TABLE syntax内创建约束。

如果没有另外定义,主键将自动成为CLUSTERED索引 - 但这不包括userguid列。 CREATE INDEX syntax需要另外发表声明。

答案 2 :(得分:1)

你能澄清一下原因吗?

您可以在SQL Server中使用DDL事务,对于大多数用途,这相当于同时执行。