Этот MySQL повысит репутацию пользователя на 5 при отправке отзыва.
UPDATE user_profiles
SET reputation = reputation +5
WHERE user_id = $question_author_id;
Теперь я хочу провести различие:
- если ответ на вопрос задан, шаг должен быть 5,
- если ответ идет за ответ, приращение должно быть 10.
Ответ можно определить по наличию целого числа в поле forum_qa_parent_id таблицы forum_qa .
Итак, я придумал это, но оно не работает:
UPDATE user_profiles
IF (SELECT forum_qa_parent_id
FROM forum_qa
WHERE forum_qa_id = $question_id) IS NOT NULL
THEN SET reputation = reputation +10
WHERE user_id = $question_author_id;
ELSE SET reputation = reputation +5
WHERE user_id = $question_author_id;
END IF;
Кто-нибудь хочет показать мне, как сделать эту работу?