>데이터 베이스 >MySQL 튜토리얼 >관련 테이블의 데이터를 사용하여 한 테이블의 NULL 열을 업데이트하는 방법은 무엇입니까?

관련 테이블의 데이터를 사용하여 한 테이블의 NULL 열을 업데이트하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-10 10:03:44161검색

How to Update a NULL Column in One Table Using Data from a Related Table?

데이터베이스 열 업데이트: 관련 테이블 전체에서 값 일치

데이터베이스 관리에서는 관련 테이블의 데이터를 기반으로 한 테이블의 열을 업데이트해야 하는 경우가 많습니다. 이는 데이터 무결성 및 버그 수정에 매우 중요합니다.

시나리오:

두 개의 테이블 QuestionTrackingsQuestionAnswers을 상상해 보세요.

  • QuestionTrackings:
    • QuestionID(NULL일 수 있음)
    • AnswerID
  • QuestionAnswers:
    • AnswerID
    • QuestionID

버그로 인해 일부 QuestionTrackings 행에 NULL QuestionID 값이 발생했습니다. 다행스럽게도 해당 AnswerID 값은 QuestionID 테이블에 올바른 QuestionAnswers이 있습니다. 작업은 QuestionID에서 누락된 QuestionTrackings 값을 채우는 것입니다.

해결책:

이 작업은 UPDATE:INNER JOIN과 결합된

문을 사용하여 효율적으로 수행할 수 있습니다.
<code class="language-sql">UPDATE QuestionTrackings AS q
INNER JOIN QuestionAnswers AS a
ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL;</code>
  • INNER JOINAnswerID 값이 일치하는 행을 연결합니다.
  • SET q.QuestionID = a.QuestionIDQuestionTrackings의 올바른 QuestionID으로 QuestionAnswers을 업데이트합니다.
  • WHERE q.QuestionID IS NULLQuestionID 값이 누락된 행으로 업데이트를 제한합니다.

중요 사항:

  • 확인: UPDATE 문을 실행하기 전에 동일한 SELECT과 함께 JOIN 문을 사용하여 결과를 미리 보고 데이터 정확성을 확인하는 것이 가장 좋습니다. 각 AnswerID이 단일 QuestionID에 매핑되는지 확인하세요.
  • 조건부 업데이트: 보다 선택적 업데이트를 위해 추가 WHERE 절 조건을 추가할 수 있습니다(예: WHERE q.QuestionID IS NULL AND q.Status = 'Active').

위 내용은 관련 테이블의 데이터를 사용하여 한 테이블의 NULL 열을 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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