0
我可以識別由於唯一值約束導致的錯誤消息,我的表是「分支」,以及SYS_C004023到達的位置。我已經檢查了分支機構表,沒有重複價值。可能是什麼問題。一般錯誤:1 OCIStmtExecute:ORA-00001:違反唯一約束(HR.SYS_C004023)?
我可以識別由於唯一值約束導致的錯誤消息,我的表是「分支」,以及SYS_C004023到達的位置。我已經檢查了分支機構表,沒有重複價值。可能是什麼問題。一般錯誤:1 OCIStmtExecute:ORA-00001:違反唯一約束(HR.SYS_C004023)?
where did SYS_C004023 come
這是一個系統生成的約束名,當沒有例如被明確命名創建約束甲骨文創建
create table mytable (col1 integer primary key);
mytable上的主鍵約束將系統生成的,因爲我沒有明確命名它是這樣的:
create table mytable (col1 integer constraint mytable_pk primary key);
你可以找到這個約束是什麼表上是這樣的:
select table_name
from all_constraints
where owner = 'HR'
and constraint_name = 'SYS_C004023';
而且你可以找出它使這列這樣的獨特之處:
select column_name
from all_cons_columns
where owner = 'HR'
and constraint_name = 'SYS_C004023';
there is no value duplication
不,不會有,多虧了約束。已經有一個失敗的嘗試插入或更新一行,以便違反唯一性約束。
非常感謝您的回答,它像我從MySQL表中複製了10-20條記錄到oracle ...以及從1-20的主要ID。但是,我還添加了序列,從1開始,所以我認爲,這就造成了這個問題,當我截斷所有內容並重新插入並且它工作時... ... – unni 2010-10-08 07:12:02