我有一个名为 Color_Table
的表,它只有一个字段 Color
,其内容是:
蓝色
蓝色
蓝色
红色
现在我必须更新此表的内容,以便所有具有 Color
= Blue
的记录都更改为 Color
= Red
反之亦然。更新后的表格将如下所示:
红色
红色
红色
蓝色
这是我做的
更新 Color_Table
设置颜色 = "TempRed"
WHERE Color = "蓝色";
更新 Color_Table
设置颜色=“蓝色”
WHERE Color = "红色";
更新 Color_Table
设置颜色 = "红色"
WHERE Color = "TempRed";
有没有其他地方我们可以使用更少的查询并且没有额外的空间来做到这一点?
最佳答案
您可以在单个更新
中执行此操作:
update color_table
set color = (case when color = 'Blue' then 'Red'
when color = 'Red' then 'Blue'
end)
where color in ('Blue', 'Red');
关于mysql - 反转表内容的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33101369/