我有两个表:产品和评论。我在插入新评论时试图创建一个更新产品表(列:星号)的触发器。它们通过product_id连接。我试过这段代码,但我猜它不对。
代码:
create trigger update_stars after insert on Review for each row
update Product
set stars=(select avg(stars) from Review where product_id=Product.product_id)
where product_id=new.product_id;
答案 0 :(得分:1)
对于sql代码,您可以使用基于内部联接的更新,例如:
update Product p
inner join (
select product_id, avg(stars) avg_stars
from Review
group by product_id
) t on t.product_id = p.product_id
set stars=t.avg_stars