테이블에 (INT) 자료형의 컬럼이 있고 해당 컬럼 값을 누적 합산해야 하는 기능을 만든다고 할때
저장되어 있는 값을 우선 (SELECT) 조회한 뒤, 합산 후 (UPDATE)수정 할 수도 있지만
(SELECT) 조회할 필요없이 (UPDATE) 조회와 수정을 한번에 할 수도 있음
UPDATE
'테이블명'
SET
'컬럼명' = IFNULL('컬럼명',0) + #{'합산할 값이 담긴 파라미터명'}
/* 컬럼값이 NULL일 경우 연산을 할 수 없으니 INFULL을 이용해 NULL일 경우 0으로 대체하도록 설정 */
WHERE
'컬럼명' = #{조건값}
/* 누적합산 하기 위해 '+' 를 하였는데 원하는 형식에 맞춰 '-' 빼거나, '*' 곱하거나 '/' 나누기도 가능 */
/* 나누기를 할때 주의할 점은 0으로 나눌 수 없다는 것. 0으로 나누려고 하면 Error Code: 1365. Division by 0
과 같은 오류가 발생함 */
'MyBatis' 카테고리의 다른 글
이클립스 마이바티스 매퍼 mapper xml DOCTYPE dtd 컴파일 에러 (어플리케이션 실행 및 쿼리 실행에 문제는 없는데 에러 떠 있는 경우) (3) | 2024.02.25 |
---|---|
MyBatis <choose> 마이바티스 choose / SQL INSERT or UPDATE 시 변수값이 null or ""(빈문자열) 일 때 기본값 세팅 (1) | 2023.07.29 |
MyBatis 마이바티스 MySQL 일괄 insert, 다중 insert / <foreach> (0) | 2023.04.23 |
MyBatis 마이바티스 변수 작성시 사용하는 ${} 와 #{} 차이점 (0) | 2023.03.11 |
MyBatis 마이바티스 주석 작성시 주의사항 (0) | 2023.01.21 |
최근댓글