異なる値を持つ複数の 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 サイトの他の関連記事を参照してください。