2014-02-21 42 views
0
Create table DocumentMaster 
(
DocID int Identity(1,1) not null Primary key, 
DocName varchar(30) UNIQUE not null 
) 

當我插入一條記錄在它的一切工作正常,但如果我刪除記錄或錯誤是當我嘗試插入重複記錄在DocName列「一DOCID不遵循一個序列號模式「身份列沒有按照序列號刪除

DocID DocName 
1  Doc1 
3  Doc2 

(預期的DocID 2,但其3試圖以可採用DocName插入重複值時)

請幫它

謝謝

+0

如果您關心標識列的數值,那麼您就錯了。您應該將它們視爲適合數字列的不透明斑點。 –

+0

你能提供你的動作的完整腳本(包括錯誤信息)嗎? – demas

回答

0

這是因爲主鍵定義。主鍵的重要規則之一就是它在整個數據庫中保持唯一。 標識規範試圖遵守此規則。 例如,如果您刪除了在其他表中引用的標識行,則應維護數據庫一致性。 因此,如果一個行內的身份被刪除或嚴重插入,該行的努力不應該在數據庫中。所以下一個被選中。

+0

可以請你提供一個查詢來保持一致性 – user3320751