1

これらの2 つの リンクは、私が推測するこの質問に関連していますが、わずかに異なる私の要件を解決する方法が見つかりません。

私はテーブルを持っています、次のように言います:

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 に答える