MYSQL - 같은 테이블 데이터로 조회후 업데이트 하기


작업 중에 업데이트를 하기위해 같은 테이블의 데이터를 조회해야 할때가 생긴다.

MYSQL에서는
        UPDATE X
        SET column1 = ( SELECT coulmn1 FROM X WHERE coulmn2 = 조건1 )
        WHERE coulmn2 = 조건2

뭐 대충 이런식으로 했지만 안되더라
구글링 결과
       UPDATE X
       SET column1 = (SELECT * FROM(
                    SELECT coulmn1 FROM X WHERE coulmn2 = 조건1) as A )
       WHERE coulmn2 = 조건2

요렇게 해야 한다고 한다.

아 그리고 예외로 UPDATE문에서도 조인이 된다고 한다.
EX) update test1 A join test2 B on A.id = B.id
       set A.val = B.val
       where A.id = 1





댓글