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

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

Barbara Streisand
リリース: 2025-01-17 04:47:09
オリジナル
816 人が閲覧しました

How to Update MySQL Table Data Based on Another Table's Values?

別のテーブルの値に基づいて MySQL テーブルのデータを更新します

同様の構造を持つ 2 つのテーブル、tableA と tableB があるとします。

id name value
1 Joe 22
2 Derk 30

タスクは、2 つのテーブルの一致する名前の値に基づいて、テーブル A の値列の値をテーブル B の値列にコピーすることです。

これを行うには、次の MySQL UPDATE ステートメントを使用できます:

<code class="language-sql">UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = tableA.value;</code>
ログイン後にコピー

このステートメントは、name 列に基づいて tableA と tableB の間で INNER JOIN 操作を実行し、tableB の value 列を tableA の対応する値で更新します。

条件ベースの動的な値の更新:

テーブル A の値に基づいてテーブル B の値列を動的に更新する必要がある場合は、次のメソッドを使用できます:

<code class="language-sql">UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value)
WHERE tableA.name = 'Joe';</code>
ログイン後にコピー

ここで、IF() 関数は、tableA.value が 0 より大きいかどうかをチェックします。 true の場合、tableB.value を tableA.value の値に設定します。それ以外の場合は、tableB の元の値を保持します。

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

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