【发布时间】:2022-12-01 08:27:29
【问题描述】:
我有以下触发器:
CREATE TRIGGER sum
AFTER INSERT
ON news
FOR EACH ROW
UPDATE news SET NEW.sum = (NEW.int_views + NEW.ext_views)/NEW.pageviews
它将表格的 int_views 和 ext_views 列相加,然后除以总浏览量。
每当我尝试向新闻添加新行时,都会出现以下错误:
ERROR 1442 (HY000) at line 3: Can't update table 'news' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
触发器对我来说似乎很简单。触发器运行失败是否有原因?
【问题讨论】:
-
@jcho360,抱歉,我没有看到在哪里包含 where 条件。我希望触发器在插入后在每一行上执行。
-
如果那不起作用让我知道最后尝试使用
WHERE news_id = NEW.news_id;
标签: mysql