Database
[MySQL] 두 개의 테이블간에 업데이트 하기
ImRedCat
2018. 11. 7. 22:00
두 개의 테이블 간에 필드 값 일괄 업데이트 하기
문제
테이블 Table_A 와 Table_B 가 있다.
Table_A 의 pk가 3이상인 행에서 필드 field_a 는 Table_B의 field_b 값으로 업데이트되어야 한다.
해결
join 으로 해결
UPDATE Table_A as A left outer join Table_B as B ON A.pk = B.pk SET A.field_a = B.field_b WHERE A.pk >= 3
참고
복잡한 구조인 경우 조인을 이용한 셀렉트문으로 각 필드가 정상적으로 조회 되는지 확인을 우선하고 시행한다.
SELECT A.field_a, B.field_b FROM Table_A as A left outer join Table_B as B ON A.pk = B.pk WHERE A.pk >= 3
@ MySql update two tables at once - StackOverflow