>데이터 베이스 >MySQL 튜토리얼 >다른 테이블의 값을 기반으로 MySQL 테이블 데이터를 업데이트하는 방법은 무엇입니까?

다른 테이블의 값을 기반으로 MySQL 테이블 데이터를 업데이트하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-17 04:47:09819검색

How to Update MySQL Table Data Based on Another Table's Values?

다른 테이블의 값을 기반으로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.