首頁 >資料庫 >mysql教程 >如何使用相關表更新資料庫表中的 NULL QuestionID?

如何使用相關表更新資料庫表中的 NULL QuestionID?

Barbara Streisand
Barbara Streisand原創
2025-01-10 06:48:46544瀏覽

How to Update NULL QuestionIDs in a Database Table Using a Related Table?

資料庫表更新:將欄位與參考值對齊

您的問題涉及更新 QuestionID 欄位包含空值的資料庫表。您試圖將這些空值設定為等於由 AnswerID 欄位引用的相關表格「Answers」中對應的 QuestionID 值。

要實現此目的,您可以利用內部聯結。以下查詢示範如何實現:

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL;

INNER JOIN 操作根據匹配的 AnswerID 值在 QuestionTrackings 和 QuestionAnswers 表中的行之間建立連接。這使我們能夠從 QuestionTrackings 表中每一行的 QuestionAnswers 表中存取 QuestionID 值。

您可以為 WHERE 子句新增其他條件,以進一步縮小要更新的行範圍。例如,如果您只想更新QuestionID 為null 並且AnswerID 小於500 的行:

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL AND q.AnswerID < 500;

建議在執行更新之前使用select 查詢預覽要更新的行,以確保準確性:

SELECT *
FROM QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
WHERE q.QuestionID IS NULL;

這將幫助您驗證每個AnswerID 只有一個關聯的QuestionID,並避免更新過程中潛在的錯誤。

以上是如何使用相關表更新資料庫表中的 NULL QuestionID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn