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

如何使用相关表更新数据库表中的 NULL QuestionID?

Barbara Streisand
发布: 2025-01-10 06:48:46
原创
545 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板