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

単一の SQL クエリで複数のデータベース レコードを更新するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-07 10:52:12380ブラウズ

How Can I Update Multiple Database Records with a Single SQL Query?

単一の SQL クエリで複数のレコードを更新

データベース内の多数のレコードの更新には時間がかかり、個別に実行する場合は、繰り返しのタスク。プロセスを合理化するために、単一の SQL クエリで複数のレコードを同時に更新できます。

複数テーブル更新構文の使用

1 つのアプローチは、マルチテーブル更新構文。複数のテーブルを結合し、それぞれの列を 1 回の操作で変更できます。

たとえば、次の例を考えてみましょう。

UPDATE config t1 JOIN config t2
ON t1.config_name = 'name1' AND t2.config_name = 'name2'
SET t1.config_value = 'value',
t2.config_value = 'value2';

このクエリでは、t1 と t2 というラベルが付いた構成テーブルの 2 つのインスタンスを結合します。 ON 句は結合基準を定義し、更新されるレコードが特定の config_name 値と一致することを保証します。 SET 句内で、t1 と t2 の両方の config_value 列に新しい値を割り当てます。

条件付き更新の使用

もう 1 つのオプションは、条件付き更新を使用することです。を使用すると、指定した条件に基づいて異なる値を設定できます。

次の点を考慮してください。 query:

UPDATE config
SET config_value = CASE config_name 
WHEN 'name1' THEN 'value' 
WHEN 'name2' THEN 'value2' 
ELSE config_value
END
WHERE config_name IN('name1', 'name2');

ここでは、CASE ステートメントを使用して、config_name 値に基づいて config_value 列の新しい値を定義します。名前「name1」および「name2」の場合、値はそれに応じて更新されます。それ以外の場合は、現在の値が維持されます。 WHERE 句は、指定された基準に一致する config_name 値を持つレコードへの更新を制限します。

以上が単一の SQL クエリで複数のデータベース レコードを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。