집 >데이터 베이스 >MySQL 튜토리얼 >다른 테이블의 값을 기반으로 MySQL 테이블 데이터를 업데이트하는 방법은 무엇입니까?
다른 테이블의 값을 기반으로 MySQL 테이블 데이터 업데이트
비슷한 구조를 가진 tableA와 tableB라는 두 개의 테이블이 있다고 가정해 보겠습니다.
id | name | value |
---|---|---|
1 | Joe | 22 |
2 | Derk | 30 |
두 테이블에서 일치하는 이름 값을 기준으로 tableA의 값 열 값을 tableB의 값 열에 복사하는 작업입니다.
이를 수행하려면 다음 MySQL UPDATE 문을 사용할 수 있습니다.
<code class="language-sql">UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = tableA.value;</code>
이 명령문은 name 열을 기준으로 tableA와 tableB 사이에 INNER JOIN 연산을 수행하고 tableB의 값 열을 tableA의 해당 값으로 업데이트합니다.
조건 기반 동적 값 업데이트:
tableA의 값을 기반으로 tableB의 값 열을 동적으로 업데이트해야 하는 경우 다음 방법을 사용할 수 있습니다.
<code class="language-sql">UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value) WHERE tableA.name = 'Joe';</code>
여기서 IF() 함수는 tableA.value가 0보다 큰지 확인합니다. true인 경우 tableB.value를 tableA.value의 값으로 설정하고, 그렇지 않으면 tableB의 원래 값을 유지합니다.
위 내용은 다른 테이블의 값을 기반으로 MySQL 테이블 데이터를 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!