ホームページ >データベース >mysql チュートリアル >単一の 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 サイトの他の関連記事を参照してください。