首先說明一點,主鍵又稱主鍵約束,它也是一種約束,看下它和唯一約束的創建語法:
alter table Person add constraint PK_Id primary key (Id) alter table Person add constraint UQ_Name unique (Name)
主鍵和唯一約束都要求字段值唯一,除此外,它們還有如下區別:
·同一張表只能有一個主鍵,但能有多個唯一約束;
·主鍵字段值不能為NULL,唯一約束字段值可以為NULL;
·主鍵字段可以做為其他表的外鍵,唯一約束字段不可以做為其他表的外鍵;
·SQLServer默認為主鍵字段創建聚集索引,為唯一約束字段創建非聚集索引;
主鍵,唯一,但是不能為空;唯一約束,唯一,但是可以為空