ホームページ > データベース > mysql チュートリアル > 単一のクエリで複数の MySQL 行を異なる値で更新するにはどうすればよいですか?

単一のクエリで複数の MySQL 行を異なる値で更新するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-17 11:07:10
オリジナル
533 人が閲覧しました

How Can I Update Multiple MySQL Rows with Different Values in a Single Query?

異なる値を持つ複数の MySQL 行を効率的に更新する

データベース管理では、多くの場合、複数の行を一意の値で更新する必要があります。 MySQL は、UPDATE ステートメントを CASE 式と組み合わせて使用​​する効率的なソリューションを提供します。

条件付き更新への対処

課題は、さまざまな条件に基づいて行を更新することにあります。ユーザーの役割、ID、オフィスコードを含むテーブルを想像してください。ユーザーの役割とオフィスに応じてユーザー ID を更新する必要があります。

CASE 式の活用

MySQL の CASE 式を使用すると、条件に基づいて異なる値を割り当てることができます。 これにより、条件付き更新のニーズに完全に対応できます。

ソリューションの実装

次の構文は、複数の基準に基づいて複数の行を個別の値で更新します。

<code class="language-sql">UPDATE table_name
SET column_name = (
    CASE
        WHEN condition1 THEN value1
        WHEN condition2 THEN value2
        ...
    END
),
column_name2 = value2
WHERE condition;</code>
ログイン後にコピー

例:

特定のオフィス内のさまざまなユーザー役割の cod_user 列と date 列を更新してみましょう:

<code class="language-sql">UPDATE table_users
SET cod_user = (
    CASE
        WHEN user_role = 'student' THEN '622057'
        WHEN user_role = 'assistant' THEN '2913659'
        WHEN user_role = 'admin' THEN '6160230'
    END
),
date = '12082014'
WHERE user_role IN ('student', 'assistant', 'admin') AND
cod_office = '17389551';</code>
ログイン後にコピー

重要な考慮事項:

  • データ型の一貫性 (日付、数値など) を維持します。
  • 必要に応じて、CASE 式を拡張して、より多くの条件を処理します。
  • このアプローチにより更新が合理化され、効率とデータの整合性が強化されます。

以上が単一のクエリで複数の MySQL 行を異なる値で更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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