所以在我的表中,我有一个如下所示的列:
45
NULL
234234
123
NULL
NULL
75
我想将所有NULL
值设置为0
:
45
0
234234
123
0
0
75
我试过了:
UPDATE TABLE comm_call_count c
SET c.messageCountFri = 0
WHERE c.messageCountFri = NULL;
然后我尝试了这个:
UPDATE TABLE comm_call_count c
SET c.messageCountFri = IFNULL(c.messageCountFri,0);
但都没有奏效。我该怎么做?
答案 0 :(得分:2)
null
不是价值,而是缺乏价值。因此,您无法使用旨在比较值的运算符(例如=
或!=
)对其进行评估。相反,您需要使用is
运算符明确检查它。另请注意,语法为update <table name>
,而非update table <table name>
:
UPDATE comm_call_count c
SET c.messageCountFri = 0
WHERE c.messageCountFri IS NULL;
答案 1 :(得分:2)
尝试从UPDATE语句中删除关键字 TABLE
。我不认为这是允许的。 (我从不在这样的更新中使用TABLE
这个词。)
似乎会抛出一个特定的错误,而不仅仅是“不工作”。
答案 2 :(得分:1)
也许试试:
WHERE c.messageCountFri is NULL;
这可能听起来很简单,但请确保您的字段可以为空