안녕하세요.
auto_increment와 관련사항에 대해 궁금한 사항이 있어서...질문을 올립니다.
질문1.
테이블 설계할때 특정 필드의 유일한 키 값으로 auto_increment를 쓰는 경우가 있던데..
사용자가 직접 유일한 키 값을 만들어서 사용하던 경우를 봤는데요..
문자든 숫자든 상관없이.. 일반적으로 어떻게 하시는지 예를 좀 들어 봐 주셨으면 합니다.
질문2.
예를들어 Master 테이블에 auto_increment로 키 생성후 insert 시키고
Detail 테이블에 F_K 로 방금 입력된 id 값을 넣어야 되는데
그 자동으로 만들어진 id 값을 max(id) 로 뽑아 올수는 있는데
신뢰성이 좀 떨어지는것 같습니다.
insert 할때 Lock 을 걸지 않는이상 insert 와 max(id) 뽑는 쿼리 사이에 (물론 정말짧은 시간간격 같지만) 만약 그 사이에 다른 레코드가 추가되어 버리면(다른 사용자가 입력) ... 잘못된 F_K 값이 입력될것 같습니다.
제가 잘못 알고 있는건지 방법이 잘못된건지 .. 궁금합니다.
질문3.
그리고 auto_increment가 필드 최대크기를 넘어서면 어떻게 되는지요?
일반적으로 그냥 무한대라고 봐도 되는지 궁금합니다.
고수님들의 조언을 부탁드립니다.
수고하세요..