用于反转表内容的SQL查询

时间:2015-10-13 11:22:30

标签: mysql sql sql-update

我有一个名为Color_Table的表,其中只有一个字段Color,其内容为:
Blue {
{1}} {
{1}} {
{1}}
现在,我必须更新此表的内容,以便将Blue = Blue的所有记录更改为Red = Color,反之亦然。更新后的表格如下:
Blue {
{1}} {
{1}} {
{1}}
这是我做的 Color

Red

Red

还有其他任何我们可以使用较少数量的查询并且没有额外空间的情况吗?

2 个答案:

答案 0 :(得分:2)

您可以在一个update中执行此操作:

update color_table
    set color = (case when color = 'Blue' then 'Red'
                      when color = 'Red' then 'Blue'
                 end)
    where color in ('Blue', 'Red');

答案 1 :(得分:0)

这个怎么样:

UPDATE Color_Table SET Color = 
         CASE WHEN Color='Red' THEN 'Blue' 
              WHEN Color='Blue' THEN 'Red' 
              ELSE Color 
         END