【发布时间】:2016-12-16 19:06:27
【问题描述】:
我不知道为什么我的触发器不起作用,当我手动使用它时查询可以工作,但是当我想通过触发器进行更新时它不起作用。有人可以帮我知道为什么吗?
这是我的触发器:
CREATE TRIGGER `upd_PTS` AFTER UPDATE ON `pos_table`
FOR EACH ROW BEGIN
IF (NEW.played_games <> OLD.played_games)
THEN
update pos_table set PTS=((NEW.won_games*2)+(NEW.tie_games*1));
END IF;
END
很简单,这是针对体育比赛的,当统计人员捕获比赛的得分时,他会自动添加 play_game 并且分别是赢、平或输的比赛,所以当他 play_games 更改并且它有时,我的触发器应该自动执行更改 PTS 列。但它不起作用。
此外,当我手动编辑played_games 列时,我收到此错误: “无法更新存储函数/触发器中的表 pos_table,因为它已被调用此存储函数/触发器的语句使用”。
【问题讨论】: