检查是否为null

时间:2012-03-15 08:59:08

标签: php mysql sql

我的数据库中有这个表,每次都需要加1。除非它是null我想把它设置为一个。我想过将默认值设为零,但我也需要零。

例如

-----------------------
id      number
-----------------------
01       NULL   
02        3
03        1

我不想运行2个查询。

QUERY1 : SELECT number and store it in variable

if($number == NULL) $number = 1
else
{
$number = $number++
}

QUERY2 : UPDATE number

有没有1个SQL查询可以为我做这个而不处理php中的数据?

感谢的

2 个答案:

答案 0 :(得分:3)

UPDATE table SET number=IF(number IS NULL,1,number+1)

这应该可以解决问题。

答案 1 :(得分:0)

是的,您可以检测值是否为NULL。这样做:

UPDATE mytable SET number = IF(ISNULL(number), 1, number+1)

这会将NULL的任何数字设置为1,并将其他数字增加1。所以这个:

-----------------------
id      number
-----------------------
01       NULL   
02        3
03        1

将产生:

-----------------------
id      number
-----------------------
01        1 
02        4
03        2

这样,您就不必再通过PHP了。