본문 바로가기
TOY PROJECT/Music Archive V1.0(Spring)

[MySQL] LAST_INSERT_ID()

by LAY CODER 2020. 10. 18.

 

 

 

사이트의 자유게시판의 게시글을 작성 할 때,

 

다중파일을 업로드할 수 있게 해주었기에 board 테이블과 file 테이블을 따로 만들어 관리를 하였다.

 

 

 

 

 

 

그럼 서비스에서 이와 같이 게시물을 추가하고 게시물ID를 가져와 그 게시물 ID에 맞게 파일을 넣어줘야 하는데,

게시물 ID는 DB에서 Auto-Increment로 자동생성이 되기 때문에

mapper에서 selectKey를 지정해 주지 않으면 파일 추가 할 때 에러가 나는 것을 확인하였다.

 

 

 

oracle을 사용 할때는 Auto_Increment이 없기 때문에 시퀀스를 만들어 주었고,

Mapper에서 insert하기 전, 게시판ID가 Null이면 1을 KeyProperty에 넣어줬었다.

 

 

 

 

 

 

이걸 Mysql에서 어떻게 처리할 지 찾아보다가,

LAST_INSERT_ID() 라는 것을 알게되었다.

 

SELECT LAST_INSERT_ID()는 마지막 생성된 Auto_Increment 값을 반환 해주는 구문이다.

 

이걸 이용해서 게시글이 저장되면 마지막 생성된 Auto_Increment 값을 keyProperty로 지정한 게시글ID에 넣어 줌으로써 해결하였다.

 

 

 

 

 

댓글