두 개의 테이블 간에 필드 값 일괄 업데이트 하기
문제
테이블 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
'Database' 카테고리의 다른 글
잘못된 값 입력으로 인한 오류는 누구의 책임인가? (0) | 2018.06.06 |
---|---|
[MySQL] 특정 row(행)만 백업하기 (0) | 2018.04.27 |
MSSQL datetime 자료형을 string으로 형변환 (0) | 2017.11.15 |
mysql 복구 (0) | 2016.06.14 |
Mysql 에서 HTML 태그 삭제 함수(strip_tags) (0) | 2015.03.12 |