Dev-/Spring
mybatis selectKey 사용시 주의점(MAX() 사용 관련)
thiago6
2019. 3. 29. 15:10
아래와 같이 사용해야 한다. (아래는 MySQL, 다른 DBMS는 찾아서 보시면 됩니다.)
<selectKey resultType="string" keyProperty="seq" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
아래와 같이 사용하면 데이터가 꼬일 수 있다.
<selectKey resultType="String" keyProperty="seq" order="AFTER">
SELECT MAX(seq) FROM CS_ORDER
</selectKey>
결론:
각 DBMS의 가장 최근 pk값을 가져오는 함수를 써야 한다.
참고:
https://stackoverflow.com/questions/3180510/last-insert-id-vs-select-maxid