MySQL JOIN 걸어서 UPDATE 하기
※ 경고
높이뜬새의 모르는 사람이 없는 팁시리즈 입니다.
이 팁시리즈는 지면낭비라는 항의시에 즉각 중단됩니다. |
DB작업을 하다보면 JOIN을 걸어서 UPDATE를 해야 할 경우가 간간히 생기는데요, MySQL에서는 서브쿼리 이딴거
필요 없습니다. 걍 우리가 아는 JOIN문 비스무레하게 아래 형식처럼 작성해 주시면 됩니다.
형식)
UPDATE [테이블명1] A INNER JOIN [테이블명2] B
ON A.[조인할 컬럼명] = B.[조인할 컬럼명]
SET [변경할 컬럼명] = 변경할값
( WHERE 절 ) |
|
조건이 필요한 경우는 WHERE 절 이하를 작성해 주시면 되고 필요한 조건이 없다면 생략하시면 됩니다.
예1)은 회원테이블과 후원테이블을 아이디로 INNER 조인을 건다음 회원등급이 9이면서, 후원금이 10000 이상
인 사람의 회원등급을 7로 변경해주는 쿼리의 예입니다.
예1)
UPDATE 후원테이블 A INNER JOIN 회원테이블 B
ON A.회원아이디 = B.회원아이디
SET B.회원등급 = 7
WHERE B.회원등급 = 9 AND A.후원금 >= 10000 |
예2)는 실제 테이블 적용 예입니다.
예2)
UPDATE support_table A INNER JOIN member_table B ON
A.sp_uid=B.user_id
SET B.level=7
WHERE B.level=9 AND A.support_money > 10000 |
|