oracle字段加了default默认值,还需要not null约束吗,可不可以省略

建表的时候... 建表的时候 展开
 我来答
yang_wling23c
推荐于2018-03-08 · TA获得超过547个赞
知道小有建树答主
回答量:200
采纳率:73%
帮助的人:63.5万
展开全部
默认值仅仅是你在初次进行insert的时候,如果不提供值,则使用默认值。
如果后续你进行update,将这个值改为null,则也是可以的,此时,并不会使用默认值。
由此可见default并不会取代not null约束。
如果是insert的话,default可以覆盖not null约束
如果update,则default不一定能覆盖not null约束
百度网友2dca20d
2015-01-28 · TA获得超过4036个赞
知道大有可为答主
回答量:2638
采纳率:77%
帮助的人:1025万
展开全部
需要加,如果你给了default约束,此列还是可以存储空值,比如:
create table t(A NUMBER,B VARCHAR2(10) DEFAULT 'ABC');

INSERT INTO T VALUES(1,NULL);
B列存储了一个空值.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式