안녕하세요.
풀리지 않는 문제가 있어서 문의드립니다.
현재 데이터에 고유한 번호를 생성해서
작성하는것을 만들고 있습니다.
문제는 일반 게시판처럼 모든 데이터를 입력하고 마지막
인서트 할때 최대값을 생성하는 것이 아니라 등록
페이지를 열때 테이블의 최대값을 불어와야 한다는
점입니다.
1.만약 A라는 유저가 등록페이지를 열면 테이블의
최대값에서 +1한 4라는 값을 등록화면에 보여주고 데이터를
등록하는 중이라고 한다면
2. 아직까지도 테이블의 최대값은 3이므로 또다른 유저B가
등록페이지를 열때 역시 똑같은 번호 4를 보여주게
될것입니다.
3.즉, 중복 아이디가 여러개 생길수 있는 가능성이 있기 때문에
또다른 번호 생성 테이블을 만들어서
최대값을 불러오려 합니다.
4. 근데 만약 A라는 유저가 등록페이지를 열고 4라는 아이디를
생성하고 번호 생성 테이블에 최대값을
UPDATE합니다.
5.B라는 유저가 등록페이지를 열때 번호 생성 테이블에서 최대값을
불러오면 5번이라는 번호를 가지게 됩니다.
그러나 문제는 A건 B건 등록을 취소하고 나갈때에는
비어있는 번호가 생긴다는 것입니다.
무분별하게 등록페이지를 눌러 번호를 부여받고 글쓰기를 취소한다면
같은 아이디가 조회수를 클릭해서 올리는것처럼 최대값이 매우 커질
것입니다.
아직 초보라 그런지 어떻게 해결해야 할지 모르겠습니다.
등록할때 보여주는 아이디는 XXX_00001이와같은 형식입니다.
제발 조언 부탁드려요~~
|