>  기사  >  데이터 베이스  >  MySQL에서 비슷한 값을 가진 여러 테이블을 효율적으로 업데이트하는 방법은 무엇입니까?

MySQL에서 비슷한 값을 가진 여러 테이블을 효율적으로 업데이트하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-04 00:44:30314검색

How to Efficiently Update Multiple Tables with Similar Values in MySQL?

MySQL에서 비슷한 값으로 여러 테이블 업데이트

비정규화를 위해 동일한 업데이트가 필요한 두 개의 테이블이 있는 시나리오에서는 다음을 활용할 수 있습니다. MySQL에서 제공하는 다중 테이블 업데이트. 이 접근 방식을 사용하면 단일 문으로 여러 테이블에 걸쳐 동시에 업데이트할 수 있습니다.

이를 달성하려면:

  1. 공통 열 식별: 두 테이블 모두에서 어떤 열을 결정합니다. 동일한 값으로 업데이트해야 합니다.
  2. 테이블 조인: INNER JOIN을 사용하여 공통 열(예: userid)을 기반으로 테이블을 연결합니다.
  3. 업데이트 지정: SET 절에서 업데이트할 열과 해당 값을 나열합니다. 두 테이블 모두에서 값이 일치하는지 확인하세요.
  4. 결과 필터링: 업데이트할 특정 행을 필터링하려면 필요한 조건(예: WHERE 절)을 추가하세요.

예를 들어 다음 쿼리를 고려해 보세요.

UPDATE Table_One a INNER JOIN Table_Two b ON (a.userid = b.userid)
SET
  a.win = a.win+1, a.streak = a.streak+1, a.score = a.score+200,
  b.win = b.win+1, b.streak = b.streak+1, b.score = b.score+200 
WHERE a.userid = 1 AND a.lid = 1 AND b.userid = 1

여기서 두 테이블의 승리, 연속 및 점수 열은 특정 userid 및 뚜껑 값에 대해 증분적으로 업데이트됩니다. Table_Two에는 뚜껑 열이 없으므로 해당 값이 업데이트되지 않습니다.

추가 고려 사항:

  • 다중 테이블 업데이트는 LIMIT를 지원하지 않습니다. 이므로 업데이트가 의도한 것보다 더 많은 행에 영향을 미칠 수 있습니다.
  • 저장 프로시저나 트랜잭션은 특정 상황에서 더 나은 제어를 제공할 수 있습니다.

위 내용은 MySQL에서 비슷한 값을 가진 여러 테이블을 효율적으로 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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