2014-01-06 3 views
2

Итак, у меня есть столбец с именем «голосов», который имеет значение «NULL», когда первая строка создается. В конце дня я добавлю голоса, исходящие из другой таблицы, и поместит все голоса в правильную строку. Проблема в том, что если в первый раз в строке появятся голоса, мне придется писать SET votes = '$votes', но если у нее уже есть голоса, мне нужно будет написать SET votes = votes + '$votes'. Есть ли простой способ определить, является ли он нулевым или имеет значение?Если строка имеет значение null else

+0

Вы хотите добавить новые голоса к предыдущему? Поэтому он увеличивается каждый раз –

+0

'голосов + '$ vote'' будет пытаться добавить строку к числу. Просто используйте 'голосов + $ голосов' – hjpotter92

ответ

2

Использование Ifnull

SET votes = IFNULL(votes, 0) + votes 
2

попробуйте это, COALESCE или IFNULL.

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

если значение голосов является null, она будет преобразована в 0 другим мудрым сохранить первоначальное значение и добавить его в свой $votes.

3

Вы можете использовать функцию IFNULL MYSQL, то SQL будет как

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

Инициализировать поле для 0 вместо NULL.

Имеет смысл для чего-то начать без голосования.

Фактически, я бы сделал эту колонку NOT NULL!

Смежные вопросы