2010-10-07 113 views

回答

1

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

不,不會有,多虧了約束。已經有一個失敗的嘗試插入或更新一行,以便違反唯一性約束。

+0

非常感謝您的回答,它像我從MySQL表中複製了10-20條記錄到oracle ...以及從1-20的主要ID。但是,我還添加了序列,從1開始,所以我認爲,這就造成了這個問題,當我截斷所有內容並重新插入並且它工作時... ... – unni 2010-10-08 07:12:02

相關問題