首页 > 解决方案 > Mysql 更新相关表时出现错误 1442

问题描述

我有两张桌子,玩家和答案。Answer 有一个特定问题的回答分数列表和一个可识别的 PlayerID,而 Player 应该保存总分数和其他信息。

这是我的触发器:

CREATE TRIGGER answer_insert BEFORE INSERT ON Answer FOR EACH ROW
UPDATE Player SET Score = Score + New.Score
WHERE PlayerID = New.PlayerID;

CREATE TRIGGER answer_update BEFORE UPDATE ON Answer FOR EACH ROW
UPDATE Player SET Score = Score + (New.Score - Old.Score)
WHERE PlayerID = Old.PlayerID;

它可以很好地创建它们,但是在进行更新/插入时会使我的应用程序崩溃。难道我做错了什么?

错误信息是:

无法更新存储函数/触发器中的表“播放器”,因为它已被调用此存储函数/触发器的语句使用

标签: mysqltriggersdatabase-trigger

解决方案


推荐阅读