我已將我的asp.net web應用程序連接到SQL Server 2012.我面臨的問題是這樣的:我的表中有5行,標識列爲1,2,3,4, 5.更新SQL Server中的標識列
現在,通常情況下,當我刪除第5行並在刪除後插入新行時,新行的id值應爲5,但它的id值爲6.同樣,我刪除此行並插入新行,它獲得值7.
所以請指導我如何在刪除後獲取正確的id值。
我已將我的asp.net web應用程序連接到SQL Server 2012.我面臨的問題是這樣的:我的表中有5行,標識列爲1,2,3,4, 5.更新SQL Server中的標識列
現在,通常情況下,當我刪除第5行並在刪除後插入新行時,新行的id值應爲5,但它的id值爲6.同樣,我刪除此行並插入新行,它獲得值7.
所以請指導我如何在刪除後獲取正確的id值。
你是得不到應有的價值。但是,如果你需要重新設置後刪除(壞主意)計,你需要這樣的:
你需要dbcc checkident(tablename,RESEED,5)
該語句後,下一個值插入將在標識列中爲6
。
這不是這個問題所要求的。你應該重新閱讀它。 –
@KenWhite我無法理解超出「我不能這樣做,我怎麼才能得到適當的ID刪除後」這個問題......你從這個隊友中知道什麼?請解釋.. –
KenWhite,如果您在Identity列設置爲Auto時插入或刪除數據庫中的一行,那麼保持數據不增加的唯一方法是重新設置列..因此請通知剩下的我們爲什麼@Aniket答案是不正確的..? – MethodMan
數據庫運行正常。一旦身份值被髮布,它就不應該被重用。你得到的價值確實是適當的。您不應該依賴身份列順序。如果你是,你使用不當。 –
這是設計。你爲什麼想要這樣做? –