You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

插入feedback时更新post点赞计数器的触发器#1054报错排查

触发器错误排查与修复

问题根源

你触发的#1054错误,是因为在触发器的UPDATE语句里直接使用post_feedback时,数据库会默认从当前操作的post表中查找这个字段——但post表根本没有post_feedback列,自然报错。

在MySQL的AFTER INSERT触发器中,要引用刚插入到触发表(这里是feedback)的新记录字段,必须用NEW.前缀来明确指定,告诉数据库这个字段来自刚插入的那条feedback记录。

修正后的触发器代码

CREATE TRIGGER updateLikeCounter AFTER INSERT ON feedback 
FOR EACH ROW  
UPDATE post 
SET conteggio_like_post = conteggio_like_post + 1
WHERE ID_post = NEW.post_feedback;

补充说明

  • 你的原代码里用了COALESCE(conteggio_like_post, 0),其实可以省略——因为post表的conteggio_like_post字段已经设置了DEFAULT 0,即使字段值为NULL(默认值已经避免了这种情况),MySQL也会自动用0来计算。
  • 如果后续需要处理删除feedback记录时递减点赞数的场景,可以再创建一个AFTER DELETE触发器,把+1改成-1,同样用OLD.post_feedback来引用被删除的记录字段。

内容的提问来源于stack exchange,提问作者Rosmerade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 18:50:56