+-
mysql – 不使用临时表更新列数据
有一个名为EMP的表和一个名为Gender的列,它定义为VARCHAR(1),因此男性为“M”,女性为“F”.开发人员意外地将“M”改为“F”,将“F”改为“M”.

如何在不使用临时表的情况下纠正这个问题?

最佳答案
您可以使用案例表达式:

UPDATE emp
SET    gender = CASE gender WHEN 'M' THEN 'F' ELSE 'M' END

编辑:
上面的陈述假设,为简单起见,’M’和’F’是唯一的两个选项 – 没有空值,没有未知数,没有任何东西.更强大的查询可以消除这种假设,并且只是严格替换Ms和Fs,而忽略其他可能的值:

UPDATE emp
SET    gender = CASE gender WHEN 'M' THEN 'F' 
                            WHEN 'F' THEN 'M'
                            ELSE gender
                END
点击查看更多相关文章

转载注明原文:mysql – 不使用临时表更新列数据 - 乐贴网