1

我猜这两个 链接与这个问题有关,但我没有找到解决我的要求的方法,这略有不同。

我有一张桌子,这样说:

fruit         color
--------------------
mango          red
apple          red
orange         yellow
banana         green

我需要以一种成为和成为的方式进行UPDATE场域。这是更新查询后表的外观。colorredyellowyellowred

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'

谢谢。

4

2 回答 2

4
UPDATE plant SET color = CASE color
    WHEN 'yellow' THEN 'red'
    WHEN 'red'    THEN 'yellow'
  END
WHERE color IN ('red', 'yellow')
于 2012-06-03T07:33:33.333 回答
1

您可以在单个查询中执行此操作:

UPDATE plant 
SET    color = IF(color = 'yellow', 'red', IF(color = 'red', 'yellow', color))
WHERE  color IN ('red', 'yellow');
于 2012-06-03T07:29:31.160 回答