ホームページ >データベース >mysql チュートリアル >関連テーブルを使用してデータベース テーブル内の NULL QuestionID を更新する方法

関連テーブルを使用してデータベース テーブル内の NULL QuestionID を更新する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-10 06:48:46545ブラウズ

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

データベース テーブルの更新: 参照値を持つ列の位置合わせ

ご質問は、QuestionID 列に null 値が含まれるデータベース テーブルの更新に関するものです。これらの null 値を、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 *
FROM QuestionTrackings q
INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID
WHERE q.QuestionID IS NULL;

これは、各 AnswerID に関連付けられた QuestionID が 1 つだけあることを確認し、更新中の潜在的なエラーを回避するのに役立ちます。プロセス。

以上が関連テーブルを使用してデータベース テーブル内の NULL QuestionID を更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。