資料庫列更新:符合相關表中的值
資料庫管理通常需要根據相關表中的資料更新一個表中的欄位。 這對於資料完整性和錯誤修復至關重要。
場景:
想像兩個表:QuestionTrackings
和 QuestionAnswers
。
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 JOIN
連結具有符合 AnswerID
值的行。 SET q.QuestionID = a.QuestionID
使用 QuestionTrackings
中的正確 QuestionID
更新 QuestionAnswers
。 WHERE q.QuestionID IS NULL
將更新限制為缺少 QuestionID
值的行。 重要提示:
UPDATE
語句之前,最佳實踐是使用具有相同 SELECT
的 JOIN
語句來預覽結果並確保資料準確性。 確認每個 AnswerID
映射到單一 QuestionID
。 WHERE
子句條件以進行更多選擇性更新(例如WHERE q.QuestionID IS NULL AND q.Status = 'Active'
)。 以上是如何使用相關表中的資料更新一個表中的 NULL 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!