2009-05-31 39 views
0

一個星期前,一些數據被導入到數據庫表中。簡單的表:如何在我的數據庫表上修改此標識int?

ID INT PK NOT NULL IDENTITY 名稱VARCHAR(20)

現在,我今天發現的第一個ID從0開始問孩子,他在他的測試期間補種它。所以第一項是零。是一場意外。

我不確定如何最好地更新值。我怎樣才能把一切都推上一個號碼?讓我很難受的是,還有一些FK依賴關係。如果我有Cascade Update,應該修復依賴關係嗎?

此外,我應該更新每個數字(但是我這樣做??)從上而下..例如。從最高的數字開始,然後是+1。然後下去。

+0

你在談什麼數據庫軟件? – 2009-05-31 14:59:29

回答

4

首先,你爲什麼強調? ID = 0是完全有效的,如果有點不尋常。 (注意零NULL

如果你真的想擺脫的0:

  • 添加一個虛擬的記錄,
  • 注意到它的ID,
  • 如果有外指向記錄0的鍵,將它們更新爲虛擬記錄。
  • 刪除該記錄。 (推進內部ID計數器)。
  • 只需將ID 0更改爲該值即可。
+0

這不是我強調,只是我喜歡我的ID全部以1開頭:)很好,乾淨的分貝..所有一致的:) – 2009-05-31 15:14:22