在sql、oracle中的constrain有两种约束,都是对列的唯一性限制:unique与primary key,它们的区别如下:
1、unique key要求列唯一,但不包括Null字段,也就是约束的列可以为空且仅要求列中的值除Null之外不会重复即可。
2、primary key也要求列唯一,同时又限制字段的值为not Null,相当于primary key = unique+not null
3、一个表可以有多个unique,但是只能有一个primary key
详解
unique
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
Primary key
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。