增加null列中的int值

时间:2017-08-14 10:35:37

标签: sqlite

我犯了一个愚蠢的错误并创建了一个这样的列:

CREATE TABLE mytable (mycol INTEGER, ...)

如您所见,我忘了定义一个默认值,例如" DEFAULT 0"。

在我的代码中,我需要提高" mycol"由1。

当我发现这段代码没有任何效果时,我感到很困惑。

UPDATE mytable SET mycol=(mycol+1)

列值保持不变。在我的情况下" EMPTY" (=根本没有价值)。

如果可能的话,我想避免重新创建表格。

我想询问是否有任何简单的方法可以在SQL语句中修复此问题,以便将EMPTY值视为0以便

UPDATE mytable SET mycol=(mycol+1) 

对EMPTY的列值最终会产生新的列值1。

1 个答案:

答案 0 :(得分:3)

如果您的列具有空值,则可以使用如下所示:

UPDATE mytable SET mycol= ifnull(mycol,0)+1