次のデータがあります。
id = 1
name = 'john'
id = 2
name = 'jimmy'
等
1 つのクエリだけを使用してテーブルを更新する方法はありますか?
Table
id | name
1 | johnny
2 | james
次のデータがあります。
id = 1
name = 'john'
id = 2
name = 'jimmy'
等
1 つのクエリだけを使用してテーブルを更新する方法はありますか?
Table
id | name
1 | johnny
2 | james
あなたはこれを達成することができますCASE
UPDATE YourTable
SET name = CASE
WHEN id = 1 THEN 'johnny'
ELSE 'james'
END
WHERE id IN ( 1, 2 )
または別の可能性(SQL Fiddle)
UPDATE YourTable a
JOIN
( SELECT 1 AS id, 'johnny' AS name
UNION ALL
SELECT 2 AS id, 'james' AS name
) b ON
b.id = a.id
SET a.name = b.name;