MySQLで特定の条件に基づいて複数の列を一括で更新する必要がある場合、次のようなクエリを使用できます。
UPDATE テーブル名
SET 列1 = 値1, 列2 = 値2, ...
WHERE 条件;
このクエリでは、指定した条件に合致する行の特定の列を一括で更新します。例えば、users
テーブルで status
が ‘inactive’ であるユーザーの status
を ‘active’ に、かつ last_login
を現在の時刻に更新する場合、以下のようなクエリが使えます。
UPDATE users
SET status = 'active', last_login = NOW()
WHERE status = 'inactive';
このクエリは、users
テーブルで status
が ‘inactive’ の行の status
列を ‘active’ に、last_login
列を現在の時刻に更新します。
この方法を使用すると、複数の列を一度に更新でき、冗長なクエリを避けることができます。ただし、注意が必要なのは、SET
句で指定した値が一律に適用されるため、それぞれの列に異なる値を設定する場合は注意が必要です。