쿼리를 작성하다보면, insert하기 전에 해당 테이블의 정보를 가져와서 그 정보로 insert할 때가 있다.
예를들면, count 가 대표적인다.
내가 붕어빵을 1번째 구매했으면 1로 insert
그리고 2번째 구매한했으면 2로 체크..! 하고싶다면 1이었던 칼럼을 가져와서 +1을 해주고 insert해주면되는데,
간단하게 selectKey로 해결할 수 있다.
<selectKey keyProperty="apprId" resultType="int" order="BEFORE">
SELECT COUNT(칼럼명) + 1
FROM 테이블이름
WHERE USER_ID = #{userId}
</selectKey>
insert 구문에 해당 코드를 넣어준다.
나는 +1이니까 resultType은 int 고
insert를 하기 전에 저게 먼제 실행되어야하니까 BEFORE이고..
ketProperty는 저 selectKey가 담기는 변수 값 이라고 생각하면 쉽다.
apprId라는 이름으로 0이든 1이든 2이든 담긴다
그럼 저 변수로 밑에 쿼리문제 넣어주면된다.
728x90
'Database > MySQL' 카테고리의 다른 글
UPDATE + INSERT / ON DUPLICATE KEY UPDATE (0) | 2023.12.08 |
---|---|
[MySQL] AUTO_INCREMENT 값 초기화 쿼리 (0) | 2023.05.09 |
조인이란? 유니온과 조인의 차이점 (0) | 2022.11.12 |
JOIN2 (0) | 2022.10.12 |
JOIN (0) | 2022.10.12 |
댓글