인프런 커뮤니티 질문&답변

qwe_e0606님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

15강. 유저 업데이트 API, 삭제 API 예외 처리 하기

등록 시 질문

23.08.17 22:20 작성

·

145

1

등록 id가 1번과 2번이 있었다가 2번을 삭제하고 다시 등록을 하면 id가 3번으로 등록이 됩니다. 제가 잘못한 걸까요..?? 아니면 혹시 원래 이렇게 돌아가도록 설정하신건가요??

답변 2

0

hyun님의 프로필 이미지

2024. 06. 07. 17:27

table 생성시 auto_increment 사용해서 자동증가 되는거 아닌가요??

0

최태현님의 프로필 이미지
최태현
지식공유자

2023. 08. 18. 13:14

안녕하세요!! qwe_e0606님~ 질문 올려주셔서 항상 감사드립니다~ 😊

 

id 같은 경우 과거에 저장되어 있던 데이터와도 겹치지 않게 하기 위해 삭제 여부와 관계없에 항상 1씩 증가하는 것이 맞습니다!!

과거에 있는 데이터와 id가 같은 경우, 또 다른 테이블와 혼선이 있을 수 있거든요!

 

예를 들어 과일 테이블과 / 과일에 대한 세금 테이블이 있다고 해보겠습니다! 그러면 아주 대략적으로 테이블이 이렇게 생겼을 거에요!

 

<과일>

  • id

  • name

 

<과일 세금 테이블>

  • id

  • 과일id <-- 과일 세금 테이블에 있는 데이터가 어떤 과일에 대한 것인지 구분하기 위한 id

  • 세금 금액

 

그럼 이제 1번 사과에 대한 세금 1000원은 이렇게 기록되겠죠!

(1, 사과) / (1, 1, 1000)

 

자 이때 1번 사과를 지우고, 새로운 과일 바나나를 넣어보겠습니다!

그러면 비어 있음 / (1, 1, 1000) 에서 (?, 바나나) / (1, 1, 1000) 이 되겠죠!

여기서 바나나의 id를 정해줘야 하는데 1로 하게 되면 다른 테이블의 데이터를 고려했을 때 혼란이 생길 수 있게 됩니다. 때문에 바나나의 id는 2가 되는거죠!

(2, 바나나) / (1, 1, 1000)

 

제 답변이 도움이 되었으면 좋겠습니다~ 감사합니다!! 🙏

qwe_e0606님의 프로필 이미지
qwe_e0606
질문자

2023. 08. 18. 13:41

이해됐습니다! 감사합니다!