当前位置: 代码迷 >> Sql Server >> create话语中不能直接建立非只一的索引
  详细解决方案

create话语中不能直接建立非只一的索引

热度:98   发布时间:2016-04-24 10:08:34.0
create语句中不能直接建立非只一的索引?
Create table FavoriteDish    
(    
   fn nvarchar(100) constraint ux_fn unique NONCLUSTERED     
)

上边是可以的。但我想建立非唯一的。

但像这样就不行了:Create table FavoriteDish    
(    
   fn nvarchar(100) constraint ux_fn  NONCLUSTERED     
)

是不是非唯一的非聚集只能用create nonclustered index xxx on table...这个语句?
------解决方案--------------------
---创建主键约束,唯一约束,检查约束
create table test
(
  id int,
  testname varchar(50),
  sex bit,
  class varchar(50),
  score float default(0)
  constraint pk_test primary key/*这里可以指定是创建聚集或非聚集索引clustered
------解决方案--------------------
nonclustered可选项*/(id)
  constraint ix_test unique(testname)
  constraint ck_test check/*这里可以使用 not for replication可选项,用于指定当从其他表中复制数据时,不检查约束条件*/(score>=0)
)
  go

------解决方案--------------------
[ CONSTRAINT constraint_name ] 
{     { PRIMARY KEY 
------解决方案--------------------
 UNIQUE } 
        [ CLUSTERED 
------解决方案--------------------
 NONCLUSTERED ] 

语法上,要么是 PRIMARY KEY 要么是UNIQUE,你这种写法是不行的
  相关解决方案