【发布时间】:2017-06-05 16:06:14
【问题描述】:
当删除子行时,我需要更新父表的值。
父表:(答案)
- id_answer
- 回答
- votes(包含总票数)
儿童桌:(answers_votes)
- id_vote
- id_answer
- id_user
- date_insert
- ip
每删除一个子行,父表中votes的值必须减1。
这是我当前创建触发器的语句,但 UPDATE 行有问题,可能是 votes-1?任何帮助将不胜感激。谢谢!
CREATE TRIGGER update_votes BEFORE DELETE on answers_votes
FOR EACH ROW
BEGIN
UPDATE answers SET answers.votes = (answers.votes-1) WHERE answers.id_answer = OLD.id_answer;
END
有什么想法吗?谢谢!
【问题讨论】:
-
你可以试试这个吗?
DELIMITER $$ CREATE TRIGGER update_votes BEFORE DELETE ON answers_votes FOR EACH ROW BEGIN UPDATE answers SET answers.votes = (answers.votes -1 ) WHERE answers.id_answer = OLD.id_answer; END$$ DELIMITER ; -
另外,没有分隔符,它在
update行终止,所以我添加了$$作为分隔符。 -
@harshavmb 成功了!如果您发布您的解决方案,我可以选择它作为接受的答案。谢谢!
-
很高兴它对您有所帮助.. :)