2 luke003 luke003 于 2016.03.27 11:27 提问

初学ORACLE数据库,关于非空约束问题请教大家。

建表的时候有些字段设置了not null,但是插入记录时并没有哪一行插入记录,为什么会报错了?01400,
比如所有A/B/C三个字段,A设置类not null 但是我要插入记录时并不需要给A插入记录,只想给B/C插入记录。insert int table_name(b,c) values(value1,values2);
这样,报错了,无法将null插入A这个很不理解,请求大神,帮助一下。

2个回答

hoho_12
hoho_12   2016.03.27 13:36

你已经把A设置为非空了,当插入这个表的时候,其他的字段有内容,A为空的话,就变成不确定了,与约束相违背。

wwsd1234
wwsd1234   2016.03.27 17:00

你A已经约束不为空,就不能为null,如果想让A为空,可以用disable暂时禁用约束,等到又要用到约束时enable就行了,注意:启用约束时enable novalidate constraint,即不对前面已有的记录进行约束验证

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!