본문 바로가기
DB

[MySQL] LAST_INSERT_ID(), insert 후 PK 값 사용하기

by sliora 2017. 3. 23.

테이블 Master와 Sub가 있다.

Master 테이블의 PK를 Sub 테이블이 FK로 참조하고 있다면  

Master 테이블에 1개의 ROW를 추가하면서 MASTER 테이블에도 1개의 ROW를 함께 추가해야 할 경우가 있을 것이다. 


하지만 MySQL의 AUTO_INCREMENT로 설정된 column은 그 값을 먼저 가져올 수 없다.


이럴 때는 MySQL의 LAST_INSERT_ID()라는 함수를 사용하면 된다. 

이 함수는 가장 최근에 성공적으로 수행된 INSERT 구문의 첫번째 AUTO_INCREMENT column의 값을 반환한다. 





위와 같이 SEQ를 반환하도록 XML에 작성해 주고, 


아래와 같이 DAO에서 사용할 수 있다.

각 프레임워크마다 get, put 방식은 조금씩 다를 수 있으니 맞춰서 사용하자.