oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
非空约束
所谓的非空约束,指的是表中的某一个字段的内容不允许为空。如果要使用非空约束,只需要在每个列的后面利用“NOT NULL”声明即可
-- 删除数据表
drop table member purge;
-- 创建数据表
create table member(
mid number,
name varchar2(20) not null
);
SQL> -- 删除数据表
SQL> drop table member purge;
表已删除。
SQL> -- 创建数据表
SQL> create table member(
2 mid number,
3 name varchar2(20) not null
4 );
表已创建。
上面添加的约束表示 name 这个列上的数据不允许为 null
现在我们测试一下这个约束的作用,向数据表中增加数据,下面是正确的增加语句
insert into member(mid,name) values(1,'张三');
而下面是错误的增加语句,因为该表 name 字段不允许为空
insert into member(mid,name) values(1,null);
insert into member(mid) values(3);
运行上面错误的语句之后会出现如下的错误提示信息
SQL> insert into member(mid,name) values(1,null);
insert into member(mid,name) values(1,null)
*
第 1 行出现错误:
ORA-01400: 无法将 NULL 插入 ("SCOTT"."MEMBER"."NAME")
在设置了非空约束之后,如果出现了违反非空约束的操作,那么系统会自动准确地定位到那个模式、那张表、那个字段,这样在进行错误排查的时候就很方便