본문 바로가기
프로그래밍 언어/쿼리문 + Oracle + MySQL

[MySQL] join 후 원하는 컬럼 update 하는 방법

by 우림 2017. 2. 26.

MySQL에서

A라는 테이블의 컬럼1을

B라는 테이블과 join해서 update하고 싶은데 어떻게 해야할까요?


오라클만 사용하다가 MySQL을 쓰려니 생각대로 안되는 게 많군요 ㅠㅠ

update wp_moa_bible_mcheyne a

set ever_seq_no = (

    select ever_seq_no

      from wp_moa_bible_sort b

    where a.sort_name = b.name_short

);


update wp_moa_bible_mcheyne m,

        wp_moa_bible_sort s

    set m.ever_seq_no = s.ever_seq_no

  where m.sort_name = s.sort_name

;


처음에 이렇게 사용해 봤는데 안되더라구요.

오라클의 Merge를 이용한 update은 당연히 안될 것 같아서 시도도 안 해 봤습니다.


결국은... 구글링을 해서 알아냈네요 ㅋ

이러니 구글을 안 좋아할 수가 없답니다.


update wp_moa_bible_mcheyne m

  join wp_moa_bible_sort s on s.name_short = m.sort_name

   set m.ever_seq_no = s.ever_seq_no

;


요렇게 하니 되는군요.

update 옆에는 수정하고자 하는 테이블이 와야 합니다.


댓글