如果是其他版本,则进行更新

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)

以上是关于如果是其他版本,则进行更新的主要内容,如果未能解决你的问题,请参考以下文章

如果存在则更新,否则插入[重复]

Codeigniter 如果不存在则插入,如果不存在则更新

Mac OS中Git版本更新(亲测有效)

Mac OS中Git版本更新(亲测有效)

Mac OS中Git版本更新(亲测有效)

如何对Android的版本进行检测与更新