MySQL で複数のテーブルを同じ値で更新するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-02 20:36:03
オリジナル
938 人が閲覧しました

How to Update Multiple Tables with Identical Values in MySQL?

同じ値を持つ複数のテーブルの更新

クエリの考慮事項:

目的は更新です2 つのテーブル、Table_One と Table_Two。特定の基準 (ユーザー ID など) に基づいて特定の列 (勝利、連勝、スコア) に同一の値が含まれています。ただし、テーブルにはいくつかの違いがあります。Table_Two には蓋フィールドがなく、名前も異なります。

複数テーブル更新アプローチ:

MySQL は、複数のテーブルを柔軟に実行できます。 -テーブルは単一のクエリを通じて更新されます。このアプローチでは、結合の機能を利用して共通の列に基づいてテーブルを関連付け、参加しているテーブル全体で複数の行を同時に更新できます。

更新されたクエリ:

<code class="sql">UPDATE Table_One a
INNER JOIN Table_Two b ON (a.userid = b.userid)
SET
  a.win = a.win+1, a.streak = a.streak+1, a.score = a.score+200,
  b.win = b.win+1, b.streak = b.streak+1, b.score = b.score+200
WHERE a.userid = 1 AND a.lid = 1 AND b.userid = 1;</code>
ログイン後にコピー

この複数テーブルの更新クエリでは:

  • INNER JOIN 句は、userid 列に基づいて 2 つのテーブル間の関係を確立します。
  • SET 句は列を指定し、更新されます。 Table_One と Table_Two の両方の値。

制限事項と代替案:

複数テーブルの更新は LIMIT をサポートしていないことに注意することが重要です。その結果、クエリは意図したよりも多くの行を更新する可能性があります。したがって、両方の更新を確実にアトミックに実行するには、トランザクションまたはストアド プロシージャの方が適切なソリューションである可能性があります。

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

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