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

関連テーブルの値を使用して 1 つのテーブルの列を更新する方法

Patricia Arquette
リリース: 2025-01-10 08:58:41
オリジナル
773 人が閲覧しました

How to Update a Column in One Table Using Values from a Related Table?

関連テーブルの値で列を更新します

この記事では、特定の条件 (QuestionID が NULL) に基づいて、関連テーブル (QuestionAnswers) から値が取得されるテーブル (QuestionTrackings) 内の列を更新する方法について説明します。これは、UPDATE ステートメントと INNER JOIN を組み合わせて使用​​することで実現できます。

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 を使用して、共通の列 AnswerID に基づいて 2 つのテーブル間の接続を確立します。
  • 条件 q.QuestionID IS NULL は、更新が QuestionTrackings テーブル内の QuestionID が NULL である行にのみ影響することを保証します。
  • SET 句は、QuestionTrackings テーブル (q.QuestionID) の QuestionID 列を、QuestionAnswers テーブル (a.QuestionID) の対応する QuestionID で更新します。

注:

UPDATE クエリを実行する前に、影響を受けるデータをプレビューすることをお勧めします。これを行うには、クエリを変更して次の内容を含めることができます:

<code class="language-sql">SELECT *
FROM QuestionTrackings q
INNER JOIN QuestionAnswers a
ON q.AnswerID = a.AnswerID
WHERE q.QuestionID IS NULL
-- 可在此处添加其他条件</code>
ログイン後にコピー

これにより、更新される行が表示され、データの不整合を防ぐために、各 AnswerID に関連付けられた QuestionID が 1 つだけあることが確認されます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート