Update query 의 반환값

가람·2022년 7월 11일
0

MySQL 쿼리를 짜다가 아래와 같은 요구사항이 생겼다.

  • update 할 record 가 무엇인지 입력 -> 해당하는 행이 없으면 error 반환, 있으면 update 진행.

가장 먼저 떠오른 방법은

    1. 해당하는 행이 있는지 찾는다. ( select )
    1. 해당하는 행이 없으면 에러반환, 있다면 update 진행 ( update )

위와 같이 쿼리를 2번 날리는 방법이다.
쿼리양이 2배가 되니 비효율적이다.

이 때 사용할 수 있는 방법은, update query 의 반환값을 사용하는 것이다.
insert, update, delete 의 반환값은 아래의 내용과 같다.
( 일반적으로 1이 반환된다. )

  • insert : 삽입된 record 의 개수를 반환.
  • update : 수정에 성공한 record 의 개수를 반환. (실패시 0 반환)
  • delete : 삭제한 record 의 개수를 반환.
val response = repository.updatequery()
if ( response == 0 ) throw errorCode

위 예시처럼 우선 쿼리를 날리고, 반환값에 따라 에러를 반환하는 식으로 구현할 수 있다.

profile
hello world :)

0개의 댓글