gpt4 book ai didi

mysql - 不使用临时表更新列数据

转载 作者:可可西里 更新时间:2023-11-01 07:56:13 25 4
gpt4 key购买 nike

有一个名为 EMP 的表和一个名为 Gender 的列,它被定义为 VARCHAR(1),所以 'M'代表男性,“F”代表女性。开发人员不小心将“M”更改为“F”,将“F”更改为“M”。

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

最佳答案

您可以使用 case 表达式:

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

编辑:
为简单起见,上述声明假设 'M''F' 是唯一的两个选项 - 没有 null,没有未知数, 没什么。一个更健壮的查询可以消除这种假设,并严格替换 MF,而其他可能的值保持不变:

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

关于mysql - 不使用临时表更新列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27916519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com