DBMS MySQL - SQL6 : UPDATE MANY -> 여러개의 레코드를 한 쿼리에 UPDATE하기
이전글 : DBMS MySQL - SQL5 : GROUP BY 레코드를 그룹으로 묶기
안녕하세요. 알렉스입니다. 이번에는 SQL문을 이용하여 하나의 쿼리로 여러개의 Record를 업데이트 하도록 하겠습니다.
1. 기존 UPDATE
기존의 UPDATE는 WHERE을 이용하여 검색한 다음에 SET을 이용하여 Value를 UPDATE하는 방식 이였습니다. 아래 링크 참조
링크 : DBMS MySQL - SQL2 : UPDATE, SUBSTRING, REPLACE
하지만 여러개의 레코드를 한 쿼리안에 UPDATE를 할려면 다른 쿼리를 이용해야 합니다.
2. 여러개의 Query로 Record 업데이트
$ INSERT INTO [table name]([column name1], [column name2], [column name3])
VALUES
([value1-1], [value1-2], [value1-3]),
([value2-1], [value2-2], [value2-3])
ON DUPLICATE KEY UPDATE
[column name1]=VALUES([column name1]), [column name2]=VALUES([column name2]);
사진1) 여러 Record Update |
사진1에서 INSERT를 쓴것을 알수 있습니다. 하지만 'ON DUPLICATE KEY UPDATE'를 삽입하여 중복되는 key에 대해서 UPDATE를 하도록 하였습니다.
이 방법을 이용하면 UPDATE을 하기 위해서 DB에 불필요한 요청을 보낼 필요가 없습니다.
댓글
댓글 쓰기