2011-12-26 106 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更多信息

警告: 做上述可能导致的独特性或关系的问题,如果早期的记载依然存在。