ホームページ > データベース > mysql チュートリアル > 別のテーブルの値で MySQL 列を更新するにはどうすればよいですか?

別のテーブルの値で MySQL 列を更新するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-17 04:51:09
オリジナル
497 人が閲覧しました

How to Update a MySQL Column with Values from Another Table?

MySQL データベース: 別のテーブルの値を使用して列を更新

この記事の目的は、一致する名前に基づいて、「tableB」の「value」列に「tableA」の対応する値を設定することです。

UPDATE ステートメントの構文:

「tableB」の「value」列を更新するには、次の UPDATE ステートメントを使用できます。

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>
ログイン後にコピー
ログイン後にコピー

手順:

  • 内部 SELECT クエリは、一致する「名前」に基づいて、「tableA」内の対応する「値」を検索します。
  • 外側の UPDATE ステートメントは、見つかった値で「tableB」の「value」列を更新します。
  • 外側の UPDATE ステートメントの WHERE 句により、一致するレコードのみが更新されるようになります。

例:

サンプルデータの使用:

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>
ログイン後にコピー
ログイン後にコピー

このステートメントを実行すると、「tableB.value」は次のように更新されます。

<code>id  name  value
===================
1   Joe     22
2   Derk    30</code>
ログイン後にコピー

その他のオプション:

  • 特定の行のみを更新するには、WHERE 句に追加の条件を追加します。
  • 「tableA.value」に基づいて「tableB.value」を動的に更新するには、例に示すように、SET 句で IF ステートメントを使用できます。

以上が別のテーブルの値で MySQL 列を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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