我有一个表“ Comments”和它的副本,称为#Comments_copy(惊奇!)。 表“ comments”通过外来键链接到另一个调用“文章”,例如:comments.article_id = article.id。
在Comments_copy中:我有一列COUNT(Comments_id)。
我尝试在插入注释后创建触发器,以更新comments_copy中的计数。
我只是从MySQL开始,所以我对代码有些迷茫。
我猜我的问题出在我的条件“ WHERE”。但是我不知道要找出合适的条件...:(
CREATE TABLE Comments_copy
SELECT Comments.id as C_id, article.id, COUNT(Comments.id) as Nb_comments
FROM Comments
RIGHT JOIN Article ON article.id = Comments.article_id
GROUP BY Article.id
ORDER BY Article.id ;
DELIMITER |
CREATE TRIGGER after_insert_comments AFTER INSERT
ON comments FOR EACH ROW
BEGIN
UPDATE Comments_copy
SET Nb_comments = Nb_comments +1
WHERE id = NEW.id ;
END |
DELIMITER ;
最后,我希望重新计算上一条评论条目所涉及的文章的评论数量。
答案 0 :(得分:0)
请以这种方式尝试。
请注意,我将END |
更改为END; |
CREATE TRIGGER after_insert_comments
AFTER INSERT ON comments
FOR EACH ROW
BEGIN
UPDATE Comments_copy
SET Nb_comments = Nb_comments +1
WHERE id = NEW.id ;
END; |