ORA-02291

原创 2007年09月14日 17:16:00

最近做测试总是遇到ORA-02291错误,经过差资料,对这个错误做了下了解。

请参阅以下

 

有外键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 行。


结论:有外键约束的字段可以为空。如果不为空的话,则一定要满足外键的约束关系。

 

相关文章推荐

ORA-02291: 违反完整约束条件 - 未找到父项关键字

总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。 可能原因: 1. 插入的数据 如果某个字段是外键 那么该值要么为空 要么...

ORA-02291: 违反完整约束条件 - 未找到父项关键字

总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。 可能原因: 1. 插入的数据 如果某个字段是外键 那么该值要么为空 要...

重新将数据库注册到RMAN Catalog时偶遇ORA-02291错误之探查

转载学习,文章出自:

ORA-02291: 违反完整约束条件 - 未找到父项关键字 问题解决

总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。 可能原因: 1. 插入的数据 如果某个字段是外键 那么...

ORA-02291: integrity constraint: parent key not found

外键约束 ORA-02291: integrity constraint: parent key not found

oracle中插入数据出现错误:ORA-02291: 违反完整约束条件 (SCOTT.FK_SX9MLJB8T3FWB40GVCSKHYSYT)- 未找到父项关键字

总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。 可能原因: 1. 插入的数据 如果某个字段是外键 那么该值要么为空 要...

ORA-02291: 违反完整约束条件 (CLMDATA.FK_XXX_XXX) - 未找到父项关键字

org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; nested...

ORA-02291: 违反完整约束条件 - 未找到父项关键字

出现这种

ora-01157处理

  • 2015年10月22日 16:42
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORA-02291
举报原因:
原因补充:

(最多只允许输入30个字)