oracle字段加了default默认值,还需要not null约束吗,可不可以省略_百度...
发布网友
发布时间:2022-05-01 19:49
我来回答
共3个回答
热心网友
时间:2022-05-05 22:30
默认值仅仅是你在初次进行insert的时候,如果不提供值,则使用默认值。
如果后续你进行update,将这个值改为null,则也是可以的,此时,并不会使用默认值。
由此可见default并不会取代not null约束。
如果是insert的话,default可以覆盖not null约束
如果update,则default不一定能覆盖not null约束
热心网友
时间:2022-05-05 23:48
需要加,如果你给了default约束,此列还是可以存储空值,比如:
create table t(A NUMBER,B VARCHAR2(10) DEFAULT 'ABC');
INSERT INTO T VALUES(1,NULL);
B列存储了一个空值.