我正在尝试创建一个触发器,在用户完成任务后更新整体用户分数。我有两个不同的表,'任务'和'用户'。更新任务表后,我想将获取的分数发送到users表,并更新相应用户的users.score。我在任务表中有mid,scoreacquired和user_uid,在用户表中有uid,得分。这就是我到目前为止所做的:
DROP TRIGGER IF EXISTS updateScore;
delimiter |
CREATE TRIGGER updateScore
AFTER UPDATE ON missions
FOR EACH ROW
BEGIN
UPDATE users SET score = score + missions.scoreacquired
WHERE users.uid = missions.user_uid;
END;
|
delimiter;
它允许我创建触发器但是当我触发它时,它在BEGIN之后的两行中给出了一个错误。有什么建议吗?
感谢您的帮助。
答案 0 :(得分:0)
我希望在此过程中看到new
。像这样:
DROP TRIGGER IF EXISTS updateScore;
delimiter |
CREATE TRIGGER updateScore
AFTER UPDATE ON missions
FOR EACH ROW
BEGIN
UPDATE users
SET score = score + new.scoreacquired
WHERE users.uid = new.user_uid;
END;
|
delimiter;