2013-02-03 73 views
-4

我已將我的asp.net web應用程序連接到SQL Server 2012.我面臨的問題是這樣的:我的表中有5行,標識列爲1,2,3,4, 5.更新SQL Server中的標識列

現在,通常情況下,當我刪除第5行並在刪除後插入新行時,新行的id值應爲5,但它的id值爲6.同樣,我刪除此行並插入新行,它獲得值7.

所以請指導我如何在刪除後獲取正確的id值。

+3

數據庫運行正常。一旦身份值被髮布,它就不應該被重用。你得到的價值確實是適當的。您不應該依賴身份列順序。如果你是,你使用不當。 –

+1

這是設計。你爲什麼想要這樣做? –

回答

2

得不到應有的價值。但是,如果你需要重新設置後刪除(壞主意)計,你需要這樣的:

你需要dbcc checkident(tablename,RESEED,5)

該語句後,下一個值插入將在標識列中爲6

REF:http://msdn.microsoft.com/en-us/library/ms176057.aspx

+0

這不是這個問題所要求的。你應該重新閱讀它。 –

+0

@KenWhite我無法理解超出「我不能這樣做,我怎麼才能得到適當的ID刪除後」這個問題......你從這個隊友中知道什麼?請解釋.. –

+0

KenWhite,如果您在Identity列設置爲Auto時插入或刪除數據庫中的一行,那麼保持數據不增加的唯一方法是重新設置列..因此請通知剩下的我們爲什麼@Aniket答案是不正確的..? – MethodMan