Mysql 如何使用单个更新查询交换表中的列值
我有一张有列的桌子Mysql 如何使用单个更新查询交换表中的列值,mysql,sql,database,Mysql,Sql,Database,我有一张有列的桌子 ID NAME GENDER ------------------ 1 xxxxxxx m 2 yyyyyyy f 2 zzzzzzz f 现在,我希望用一个更新查询将“f”更新为“m”,并将“m”更新为“f” 请任何人帮助我您可以通过案例陈述来完成: update tablename t set gender = (case when gender = 'm' then 'f' when gend
ID NAME GENDER
------------------
1 xxxxxxx m
2 yyyyyyy f
2 zzzzzzz f
现在,我希望用一个更新查询将“f”更新为“m”,并将“m”更新为“f”
请任何人帮助我您可以通过案例陈述来完成:
update tablename t
set gender = (case when gender = 'm' then 'f'
when gender = 'f' then 'm'
else gender
end);
您可以通过案例陈述来实现这一点:
update tablename t
set gender = (case when gender = 'm' then 'f'
when gender = 'f' then 'm'
else gender
end);
对于mysql
update tablename
set gender = if(gender = 'm','f',if(gender = 'f','m',null))
对于mysql
update tablename
set gender = if(gender = 'm','f',if(gender = 'f','m',null))
@尤尔根德。我不是说“表”作为关键字,只是表名
t
是它的别名(在这种情况下不需要)。我不是说“表”作为关键字,只是表名t
是它的别名(在这种情况下不需要)。