2011-12-26 180 views
0

我試過做一個任務表,非常頻繁地添加/刪除項目。 當應用程序處於活動狀態時,該表用於存儲排隊的任務並將其取出。表(數據庫)中的自動增量

當應用程序中斷(重新啓動)時,下一個應用程序生命週期繼續運行不完整的任務,並且可能再次添加新任務。

表是這樣的:

table Tasks 
{ 
    int ID auto increment 

    // another columns 
} 

正如我們所知,該ID始終遞增,即使我們刪除了此前的紀錄。 如果id達到int.MaxValue會發生什麼,然後又添加了一些新記錄? id是否會被重置爲1,遞增到2,3,4 ...尋找未使用的id? 不是,如何使ID回滾到1(或任何自由ID)再次?

+1

哪個DBengine? MySQL,SQL服務器,Oracle等(版本也有幫助) – xQbert 2011-12-26 13:37:52

回答

0
在MySQL

alter table tbl auto_increment=1; 

,但你必須要運行該命令沒有反應自身。或者在更新/插入之前將其構建爲觸發器。當試圖輸入超過您的ID的最大值的記錄時,您將收到錯誤消息。

http://dev.mysql.com/doc/refman/5.1/en/example-auto-increment.html更多信息

警告: 做上述可能導致的獨特性或關係的問題,如果早期的記載依然存在。