【发布时间】:2011-10-15 06:34:00
【问题描述】:
当用户提交支持时,这个 MySQL 会增加 5 个用户的声誉。
UPDATE user_profiles
SET reputation = reputation +5
WHERE user_id = $question_author_id;
现在我要区分一下:
- 如果赞成一个问题,则增量应为 5,
- 如果投票是为了回答,则增量应为 10。
可以通过表 forum_qa 的字段 forum_qa_parent_id 中是否存在整数来识别答案。
所以我想出了这个,但它不起作用:
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;
有人愿意告诉我如何完成这项工作吗?
【问题讨论】:
-
:) - 语法错误 - 很抱歉含糊不清...... - 但@derek 提供了一个很好的解决方案
-
什么语法错误?
标签: mysql sql if-statement conditional