ホームページ >データベース >mysql チュートリアル >関連テーブルを使用してデータベース テーブル内の NULL QuestionID を更新する方法
データベース テーブルの更新: 参照値を持つ列の位置合わせ
ご質問は、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 サイトの他の関連記事を参照してください。