2011-12-26 5 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 서버, 오라클 등 (버전도 도움이) – xQbert

답변

0
MySQL의

alter table tbl auto_increment=1; 

에서

그러나이 명령 아무것도 실행되지해야 자체에 발생합니다. 업데이트/삽입 전에 트리거로 빌드하십시오. ID의 maxvalue를 초과하는 레코드를 입력하려고하면 오류가 발생합니다. 이전 기록이 남아있는 경우 고유성 또는 관계 문제를 일으킬 수 있습니다 위의 일을 자세한 정보를 원하시면

경고로

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