UNIQUE约束的字段能不能接受空值

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:18:19
约束有哪些?
UNIQUE约束的字段能不能接受空值?为什么?

同一具有UNIQUE约束的列或者行,可以允许只有一个空值,就是相当于,这个具有空值的行或者列可以用空值来和其他非空值行或者列区别。
而约束中的PRIMARY KEY,不能允许有空值。它来定义基本表的主键,起唯一标识作用,值不能是NULL,不能重复,以此来保证实体的完整性。

UNIQUE约束允许空值(NULL),但UNIQUE是唯一约束,所以每一个UNIQUE约束中最多只能有一个空值的行。

创建方法如下(创建表的同时创建):

create table unique_test  
(id number,  
fname varchar2(20),  
lname varchar2(20),  
address varchar2(100),  
email varchar2(40),  
constraint name_unique unique(fname,lname))

表已存在,然后创建:

alter table unique_test  
add constraint email_unique unique(email);

注意:如果表已存在,并且里面有数据的话再创建,使用unique的列里的内容,必须不能重复。