如果是其他版本,则进行更新
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果是其他版本,则进行更新相关的知识,希望对你有一定的参考价值。
我正在尝试完成一个mysql更新,这应该非常容易,如果查询运行,如果值是0,那么它将被设置为1,如果值是1,那么它将被设置为0。
update agents set manual_import = 0 if manual_import =1,set manual_import = 1 if manual_import = 1
那里有很多例子,但是哪一个是最简单的?
答案
一点点数学可以帮助:
UPDATE agents
SET manual_import = 1 - manual_import # turn 1 to 0 and 0 to 1
WHERE manual_import IN (0, 1) # but only when the value is 0 or 1
另一答案
好吧,我已经发现这将适合于我自己的问题以及任何其他类似的简单查询。
UPDATE agents SET manual_import = CASE
WHEN manual_import = 1 THEN 0
WHEN manual_import = 0 THEN 1
END
WHERE a_id = $a_id
另一答案
然后您可以尝试使用大小写
update agents set
manual_import = case when manual_import = 1 then 0 else 1
end
我假设manual_import仅具有两个值0和1,如果它不仅具有1和0,请尝试以下操作:
UPDATE agents SET manual_import = case
when manual_import = 1 then 0
when manual_import = 0 then 1 else manual_import
END
另一答案
在oracle数据库中,最简单的方法是'decode'函数。正如在this问题中回答的那样,您可以使用“ if”,如下所示:
update agents set manual_import = if(manual_import=1,0,1)
以上是关于如果是其他版本,则进行更新的主要内容,如果未能解决你的问题,请参考以下文章