首页 >数据库 >mysql教程 >如何使用相关 AnswerID 更新跟踪表中的 NULL QuestionID?

如何使用相关 AnswerID 更新跟踪表中的 NULL QuestionID?

Linda Hamilton
Linda Hamilton原创
2025-01-10 06:08:44630浏览

How to Update NULL QuestionIDs in a Tracking Table Using Related AnswerIDs?

使用关联的答案 ID 更新 NULL 问题 ID

挑战:

跟踪表包含“QuestionID”列中具有 NULL 值的行。 幸运的是,同一个表中的相关“AnswerID”列包含在“Answers”表中查找正确的“QuestionID”的关键。目标是用“Answers”表中的相应值填充这些 NULL“QuestionID”条目。

解决方案:

这是完成此更新的 SQL 查询:

<code class="language-sql">UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL;</code>

说明:

此查询使用 INNER JOIN 连接 QuestionTrackings(别名为 q)和 QuestionAnswers(别名为 a)表。连接条件 q.AnswerID = a.AnswerID 确保仅考虑匹配的行(基于 AnswerID)。 SET 子句将 a.QuestionID 值分配给 q.QuestionID 每行的 q.QuestionID,其中

为 NULL。

重要注意事项:

  • 预览更新:UPDATE 在运行 SELECT 语句之前,执行 JOIN 查询(使用相同的 WHERE

    子句)来预览将受影响的行。这使您可以在对数据进行任何更改之前验证更新的准确性。
  • 数据完整性:AnswerID 确认 QuestionTrackings 表中的每个 QuestionID 唯一映射到 QuestionAnswers 表中的单个 AnswerID。 重复的

    值可能会导致不可预测的更新结果。

以上是如何使用相关 AnswerID 更新跟踪表中的 NULL QuestionID?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn