由於大意,在設置數據庫表時將外鍵字段的類型與外鍵表的主鍵字段類型不一致,造成此錯誤。
我的情況是:
1、將一個為number(10)的外鍵設置成了number(19)
2、將外鍵字段對應的主鍵表設置成了另外的一張表(大意)
關於oracle出現ORA-02291: 違反完整約束條件 - 未找到父項關鍵字錯誤的幾種情況。轉載至:ORA-02291: 違反完整約束條件 - 未找到父項關鍵字
以下是信息留存:
總體說說可能出現的原因:
情況場景:
表A中有個字段是外鍵,關聯了表B中的某字段,再往表A插入數據時,會出現這種情況。
可能原因:
1.
|
eg.創建A表
創建B表
向A表插入數據
向B表插入數據
向B 表中插入數據,B表中某個字段(外鍵)在A表(主表)中沒有值:2沒在主表中
向B 表中插入數據,B表中某個字段(外鍵),值為空的情況;
2.產生了外鍵環,就是B表中被外鍵關聯的字段又關聯了C表中的字段,而C中相應字段卻沒有數據,則產生這種情況。
3.如果不是上兩種情況,那么就是一個非常容易疏忽的問題:A中的外鍵字段和B中的被外鍵關聯字段數據類型和長度不一致。特別是數據長度,必須要一致。
第三種情況是最容易忽略的,希望大家注意。