현재로서는 비어 있는 값을 채우는 방법을 사용하기에는 힘듭니다. 이유는 비어 있는 것을 찾는 것이 그렇게 만만찮고, 그러기 위해서는 많은 비용을 지불해야 하는 것이지요. 사실 빈다는 것은 어떤 자료가 입력되었다가 없어지는 경우인데 그런 경우에도 sequence 입장에서 보면 의미가 있는 것입니다. 그러므로 그런 것을 고려하지 않는 것은 당연하다고 생각됩니다. 만약 그런 의미로 이용하자면 다른 방법을 사용하는 것이 더 좋을 것 같습니다.
> 안녕하세요.
> 테이블 생성 옵션중에 auto_increment에 대해서 테스트를 하다가 궁금한 점이
> 있어서 이렇게 질문을 드립니다. 각 row마다 고유의 값을 주기 위하여
> auto_increment를 사용하고 있습니다. 변수 선언은 다음과 같습니다.
> idx int unsigned not null default '0' auto_increment primary key
> 그리고 테스트를 했습니다.
> idx의 값을 4294967295를 넣은 후에 데이터를 추가하니 에러가 납니다.
> 동일한 인텍스값을 쓸수 없다는 이야기이죠...
> 그러니까 위와 같이 필드를 설정하면 최고 42억개 정도만 저장을 할수 있다는 거죠.
> 하지만 테이블이 중간에 삭제되거나 하면 비어있는데 auto_increment의 속성때문에
> 계속해서 마지막 값 + 1이 됩니다.
> 중간에 비어있는 번호를 가지고 데이터를 insert할수 있는 방법은 없는지요?
> 너무 설명이 길고 지저분해서 괴롭겠지만 답변부탁드립니다.
> 즐거운 하루 되세요.
|