频道栏目
首页 > 资讯 > Oracle > 正文

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

18-06-25        来源:[db:作者]  
收藏   我要投稿

关于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)

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

相关TAG标签
上一篇:数据库的分库分表经验分享
下一篇:Tab切换之面向对象实例教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站