ORA 02291 違反完整約束條件

2022-04-05 16:24:57 字數 537 閱讀 6459

ora-02291: 違反完整約束條件 - 未找到父項關鍵字問題解決

總體說說可能出現的原因:

情況場景:

表a中有個字段是外來鍵,關聯了表b中的某欄位,再往表a插入資料時,會出現這種情況。

可能原因:

1.插入的資料 如果某個欄位是外來鍵 那麼該值要麼為空 要麼在主鍵表中 有對應的主鍵值 否則 就不滿足參照完整性約束 所以你肯定插入了 不存在的主鍵值 所以產生了這個錯誤

eg.建立a表

建立b表

向a表插入資料

向b表插入資料

向b 表中插入資料,b表中某個字段(外來鍵)在a表(主表)中沒有值:2沒在主表中

向b 表中插入資料,b表中某個字段(外來鍵),值為空的情況;

2.產生了外來鍵環,就是b表中被外來鍵關聯的字段又關聯了c表中的字段,而c中相應欄位卻沒有資料,則產生這種情況。

3.如果不是上兩種情況,那麼就是乙個非常容易疏忽的問題:a中的外來鍵字段和b中的被外來鍵關聯字段資料型別和長度不一致。特別是資料長度,必須要一致。

第三種情況是最容易忽略的,希望大家注意。

ORA 09817,ORA 01075報錯解決方法

sql conn as sysdba error ora 09817 write to audit file failed.svr4 error 28 no space left on device ora 01075 you are currently logged on sql 檢視硬碟空間發現...

ORA 00354 ORA 00353問題處理

同事電腦上的測試庫,很久沒用,今天啟動的時候沒啟動起來,報錯如下 資料庫版本11.2.0.4,沒開啟歸檔 看到報錯的第一反應就是 open resetlogs。然後去網上搜了一下,大家的思路基本都是一致的。從報錯資訊可以看出是redo的檔案頭有壞塊。因為是測試庫,redo裡的資訊丟了也無所謂 即使是...

連線失敗 ORA 28040 ORA 1017

如資料庫公升級12c 19c後原來的11g或更老的客戶端 jdbc 驅動連線資料庫時失敗,因為安全認證協議不符合,導致ora 28040錯誤的發生,提示下面的錯誤資訊 處理方法 如果11g連線 rac兩個節點oracle使用者,在 oracle home network admin下sqlnet.o...