SQLServer主键和唯一约束的区别

首先说明一点,主键又称主键约束,它也是一种约束,看下它和唯一约束的创建语法:

rush:sql;"> alter table Person add constraint PK_Id primary key (Id) alter table Person add constraint UQ_Name unique (Name)

主键和唯一约束都要求字段值唯一,除此外,它们还有如下区别:

·同一张表只能有一个主键,但能有多个唯一约束;
·主键字段值不能为NULL,唯一约束字段值可以为NULL;
·主键字段可以做为其他表的外键,唯一约束字段不可以做为其他表的外键;
·sqlServer认为主键字段创建聚集索引,为唯一约束字段创建非聚集索引;

主键,唯一,但是不能为空;唯一约束,唯一,但是可以为空

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...