Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2042629
  • 博文数量: 519
  • 博客积分: 10070
  • 博客等级: 上将
  • 技术积分: 3985
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-29 14:05
个人简介

只问耕耘

文章分类

全部博文(519)

文章存档

2016年(1)

2013年(5)

2011年(46)

2010年(220)

2009年(51)

2008年(39)

2007年(141)

2006年(16)

我的朋友

分类: Oracle

2010-02-05 14:20:09

2008-07-23
ORA-02291
关键字: ora-02291: integrity constraint violated - parent key not fo
ORA-02291错误
Caused by: java.sql.BatchUpdateException: ORA-02291: integrity constraint (约束名) violated - parent key not found
请参阅以下
有外键FK约束的字段可以为空 
1。创建测试表
SQL> create table lesson(lesson_name varchar2(20), classroom varchar2(10));
表已创建。
SQL> create table teacher(name varchar2(20),lesson_name varchar2(20));
表已创建。
SQL> alter table lesson add constraint pk_lesson primary key(lesson_name);
表已更改。
SQL> alter table teacher add constraint fk_lessonname foreign key(lesson_name)
2 references lesson(lesson_name);
表已更改。

2。插入测试数据
SQL> insert into lesson values('english','class 1');
已创建 1 行。
SQL> insert into lesson values('music','class 2');
已创建 1 行。

3。测试有外键的字段是否可以为空
SQL> insert into teacher values('wang','hello');
insert into teacher values('wang','hello')
*
ERROR 位于第 1 行:
ORA-02291: 违反完整约束条件 (SYSTEM.FK_LESSONNAME) - 未找到父项关键字
SQL> insert into teacher values('wang','music');
已创建 1 行。
SQL> insert into teacher values('wang',null);
已创建 1 行。

结论:有外键约束的字段可以为空。如果不为空的话,则一定要满足外键的约束关系。
阅读(9763) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~