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

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

Mary-Kate Olsen
リリース: 2025-01-17 11:11:09
オリジナル
870 人が閲覧しました

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

単一の MySQL クエリを使用して、異なる値で複数の行を更新します

MySQL で複数の行を各行の異なる値で更新する操作は複雑に見えますが、理解すると実際は非常に簡単です。その方法は次のとおりです:

次のコード例は、特定の条件に基づいて、「cod_user」フィールドと「date」フィールドに異なる値を使用して、「table_users」テーブル内の 3 つの行を更新しようとします。このために、「CASE」および「IN」ステートメントとともに「UPDATE」ステートメントを使用します。

次のクエリはこれらの更新を実行します:

<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 = '2014-08-12'
WHERE user_role IN ('student', 'assistant', 'admin')
  AND cod_office = '17389551';</code>
ログイン後にコピー

クエリの内訳:

  • 「UPDATE」ステートメントは、最初に更新するテーブルの名前を指定します。この場合は「table_users」です。
  • 「SET」句は、更新される列とそれらが取るべき新しい値を定義します。このクエリでは、「CASE」ステートメントを使用して、「user_role」の値に基づいて「cod_user」に異なる値を割り当てています。
  • 「WHERE」句は、どの行を更新するかを決定する条件を指定します。 「IN」ステートメントを使用して、「user_role」が (「student」、「assistant」、「admin」) のいずれかであるかどうか、また「cod_office」が「17389551」と一致するかどうかを確認します。

例で使用されている日付形式は推奨されないことに注意してください。ベスト プラクティスは、日付をネイティブの日付型 (YYYY-MM-DD など) として保存することです。

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

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