SQL - 如果列条目等于NULL,则将列条目设置为0?

时间:2015-06-24 21:53:07

标签: mysql sql null sql-update

所以在我的表中,我有一个如下所示的列:

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); 

但都没有奏效。我该怎么做?

3 个答案:

答案 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;  

这可能听起来很简单,但请确保您的字段可以为空