欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle数据库下约束的创建与管理(主键约束)学习讲解

程序员文章站 2022-03-26 19:46:41
关于oracle的学习记录: 三十八、约束的创建与管理(主键约束) 主键约束=唯一约束+非空约束,即不能重复,也不能为空,例如:每个中国公民的身份证 主键使用primary key表示(pk) 范例...

关于oracle的学习记录:

三十八、约束的创建与管理(主键约束)

主键约束=唯一约束+非空约束,即不能重复,也不能为空,例如:每个中国公民的身份证

主键使用primary key表示(pk)

范例:设置主键约束

drop table member purge;

create table member(

mid number,

name varchar2(20) not null,

constraint pk_mid primary key(mid)

);

范例:增加一个正确数据

insert into member(mid,name) values(10,'张三');

范例:增加错误数据

|-重复主键:ora-00001:违反唯一约束条件(scott.pk_mid)

insert into member(mid,name) values(10,'李四');

|-设置空值:ora-01400:无法将null插入("scott"."member"."mid")

insert into member(mid,name) values(null,'李四');

通过以上错误提示信息就可以发现主键约束就是两种约束的集合体

一般正常情况下,正常人只会在一张表里设置一个主键,但是在sql的标准里面,也可以为一张表设置多个主键,这样的做法称为复合主键

范例:观察复合主键

drop table member purge;

create table member(

mid number,

name varchar2(20) not null,

constraint pk_mid primary key(mid,name)

);

现在表示mid和name两个列都作为了主键存在,只有在这两个列的内容都完全相同的情况下才表示重复的主键

范例:增加正确数据

insert into member(mid,name) values(10,'张三');

insert into member(mid,name) values(10,'李四');

insert into member(mid,name) values(20,'张三');

范例:增加错误数据

insert into member(mid,name) values(10,'张三');

错误提示:ora-00001:违反唯一约束条件(scott.pk_mid_name)

正常人一般不会用,在任何情况下都不会考虑使用符合主键进行数据表的定义