2009年4月25日 星期六

將辨識欄位重新編號

一般我們都會使用Drop Table的方式先將整個Table刪除後再Create 相同名稱的Table來解決,不過這牽扯到程式開發者或是程式在執行時對於資料庫是否有Drop Table或是Create Table的問題,這時你可以使用SQL Server 2000 內建的功能來對重新起始你的資料表的辨識欄位值,如下:
方法一、
TRUNCATE TABLE [myTable]
myTable 是你的資料表名稱;

方法二、
1. DELETE [myTable]
2. DBCC CHECKIDENT('myTable', RESEED, 0)

myTable 是你的資料表名稱; RESEED 為重新編號的參數; 0 為由 1 開始編號。

不過(方法二)要注意的是你最好先將原資料表的資料完全刪除號再讓他幫你重新編號,不然不管你的資料辨識欄位是設定『不可重複』時,他一樣會從 1 開始編號,所以有可能會造成原本設計此欄位時『唯一性』的目的而產生編號重複的問題,因此建議避免此情況發生。

另外你也可以使用 DBCC CHECKIDENT('myTable', RESEED, 99)讓辨識欄位值由100開始編號。

沒有留言:

張貼留言