如果row为null则为null

时间:2014-01-06 04:27:55

标签: php mysql

所以我有一个名为“votes”的列,当第一行创建时,它的值为“NULL”。在一天结束时,我将添加来自另一个表的投票并将所有投票放入正确的行。问题是,如果这是第一次获得选票,我将不得不写SET votes = '$votes',但如果已经有选票,我将不得不写SET votes = votes + '$votes'。有没有简单的方法来检测它是否为空或是否有值?

4 个答案:

答案 0 :(得分:3)

你可以使用ifnull MYSQL函数,SQL就像

UPDATE .... SET votes = IFNULL(votes, 0) + votes

答案 1 :(得分:2)

试试这个,COALESCEIFNULL

SET votes = COALESCE(votes, 0) + '$votes'

如果投票的价值为null,则会将其转换为0,否则保留原始值并将其添加到$votes

答案 2 :(得分:2)

使用Ifnull

SET votes = IFNULL(votes, 0) + votes

答案 3 :(得分:2)

将字段初始化为0而不是NULL

从没有投票开始就有意义。

事实上,我将这一栏NOT NULL