所以我有一个名为“votes”的列,当第一行创建时,它的值为“NULL”。在一天结束时,我将添加来自另一个表的投票并将所有投票放入正确的行。问题是,如果这是第一次获得选票,我将不得不写SET votes = '$votes'
,但如果已经有选票,我将不得不写SET votes = votes + '$votes'
。有没有简单的方法来检测它是否为空或是否有值?
答案 0 :(得分:3)
你可以使用ifnull MYSQL函数,SQL就像
UPDATE .... SET votes = IFNULL(votes, 0) + votes
答案 1 :(得分:2)
试试这个,COALESCE
或IFNULL
。
SET votes = COALESCE(votes, 0) + '$votes'
如果投票的价值为null
,则会将其转换为0,否则保留原始值并将其添加到$votes
。
答案 2 :(得分:2)
使用Ifnull
SET votes = IFNULL(votes, 0) + votes
答案 3 :(得分:2)
将字段初始化为0
而不是NULL
。
从没有投票开始就有意义。
事实上,我将这一栏NOT NULL
!