2016-04-29 47 views
2

的,我得到一個錯誤PRIMARY或UNIQUE KEY約束違反主鍵constraint--火鳥SQL

衝突,當我嘗試運行此insert聲明(從C#接口):

INSERT INTO descript (PROPID, OBJID, NAME, CLASSID, LASTUPDATE, 
         HISTORY, VIVDRULE, CAPTION, PROMPT, DESCRIPTION) 
VALUES (@PROPID, //110 
     @OBJID, //2109900055 
     @NAME, //Custom10 
     @CLASSID, //3 
     @LASTUPDATE, //4/29/2016 
     @HISTORY, // '' 
     @VIVDRULE, //1 
     @CAPTION, //test10 
     @PROMPT, //yo 
     @DESCRIPTION // '' 
) 

特定的錯誤是:

違反表「DESCRIPT」*上的PRIMARY或UNIQUE KEY約束「DESCRIPTOR $ OBJID」。

OBJID是該表的主鍵。

但是,如果我跑

select * 
from descript 
where objid = 2109900055 

沒有行返回,所以我知道,實際上不是重複。

我見過thisthisthisthis,但沒有人似乎有一個適用的解決方案,或者至少不是一個工程。我也使用Firebird SQL,如果這有所作爲。

有沒有人有任何想法?

+0

爲什麼要插入主鍵呢? – Mihai

+1

@Mhaihai我必須。這是一個非常大且複雜的項目/數據庫的一部分,我們的主鍵都不能自動遞增。所以他們必須在插入中設置。 – senschen

+0

是否有多次插入發生?另外,數據類型是整數? –

回答

0

檢查OBJID及其限制的數據類型。我懷疑這個數字很大,你超過了數據類型的最大值。

+1

如果它是整數,它不是。 –

+0

它是一個整數,所以我還不算太大。 – senschen