我猜这些two links与此问题有关,但我找不到解决我的要求的方法,这有点略有不同。
我有一张桌子,就像这样说:
fruit color
--------------------
mango red
apple red
orange yellow
banana green
我需要UPDATE
字段color
,red
变为yellow
,yellow
变为red
。以下是更新查询后表格的外观。
fruit color
--------------------
mango yellow
apple yellow
orange red
banana green
这个查询显然不会起作用。
UPDATE plant SET color = 'yellow' WHERE color = 'red';
UPDATE plant SET color = 'red' WHERE color = 'yellow'
感谢。
答案 0 :(得分:4)
UPDATE plant SET color = CASE color
WHEN 'yellow' THEN 'red'
WHEN 'red' THEN 'yellow'
END
WHERE color IN ('red', 'yellow')
答案 1 :(得分:1)
您可以在一个查询中执行此操作:
UPDATE plant
SET color = IF(color = 'yellow', 'red', IF(color = 'red', 'yellow', color))
WHERE color IN ('red', 'yellow');