테이블 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 방식은 조금씩 다를 수 있으니 맞춰서 사용하자.
'DB' 카테고리의 다른 글
[MSSQL] 복원시 데이터베이스가 사용 중이어서 배타적으로 액세스할 수 없습니다. 해결방법 (3) | 2019.05.31 |
---|---|
Reletion 관계에서 NULL 처리 (0) | 2019.04.24 |
MYSQL 여러 ROW를 하나의 컬럼에 ,(콤마)로 구분하여 저장하고 View하기 (0) | 2017.03.15 |
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server (0) | 2017.03.10 |
Spring 프로젝트에 Mysql DB 연동하는 방법 (0) | 2017.03.10 |