MySQL は関連するテーブル列データを動的に更新します
この記事では、MySQL で INNER JOIN を使用してターゲット テーブルの列を動的に更新する方法について説明します。 私たちの目標は、共有名属性に基づいて、ソース テーブル (tableA) の対応する列の値をターゲット テーブル (tableB) の列に更新することです。
次の UPDATE ステートメントを使用して実現できます:
<code class="language-sql">UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = tableA.value WHERE tableA.name = 'Joe';</code>
INNER JOIN 句を使用すると、name 属性に基づいて 2 つのテーブル間の関係を確立し、一致するレコードのみが更新されるようにします。
基本的な更新操作に加えて、tableB.value の値は、tableA.value の条件に基づいて動的に変更することもできます。例:
<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>
このステートメントは、tableA.value が 0 より大きい場合にのみ、tableA.value の値を tableB.value 列に更新します。それ以外の場合は、tableB.value 列の元の値が保持されます。 このような条件付きロジックを組み合わせることで、より複雑なデータ操作タスクを実現できます。
以上がINNER JOIN を使用して MySQL の列を動的に更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。