Home / 开发 / 写sql,更改状态值,把0改成1,1改成0
看到一个非常有意思的sql案例,记录一下
写sql,更改状态值,把0改成1,1改成0
第一种:
update mytable set flag=1 where flag=0;
update mytable set flag=0 where flag=1;
第二种:
update mytable set flag=case when flag=0 then 1 else 0 end;
第三种:
update mytable set flag=-flag+1;
你会选择哪一种?
如果你选择第一种
所有数据flag=0毁灭吧,喜提提桶跑路
如果你选择第二种
完成任务,可读性高
如果你选择第三种
完成任务,公司开你得考虑一下后果,可读性差
如果flag=1,成这样flag=-1+1
如果flag=0,成这样flag=-0+1