首先说明一点,主键又称主键约束,它也是一种约束,看下它和唯一约束的创建语法:
alter table Person add constraint PK_Id primary key (Id)
alter table Person add constraint UQ_Name unique (Name)
主键和唯一约束都要求字段值唯一,除此外,它们还有如下区别:
·同一张表只能有一个主键,但能有多个唯一约束;
·主键字段值不能为NULL,唯一约束字段值可以为NULL;
·主键字段可以做为其他表的外键,唯一约束字段不可以做为其他表的外键;
·SQLServer默认为主键字段创建聚集索引,为唯一约束字段创建非聚集索引;
主键,唯一,但是不能为空;唯一约束,唯一,但是可以为空
您可能感兴趣的文章:- 如何获取SqlServer2005表结构(字段,主键,外键,递增,描述)
- 深入Mysql,SqlServer,Oracle主键自动增长的设置详解
- SQLSERVER聚集索引和主键(Primary Key)的误区认识
- sqlserver主键设计的注意点
- sqlserver数据库主键的生成方式小结(sqlserver,mysql)
- 小议sqlserver数据库主键选取策略
- sqlserver主键自增的实现示例