Triggers Mariadb触发器集特定行
嘿,我的扳机有问题。。。 我有一个桌上决斗轮(Id、状态、获胜者、轮号、决斗……) 每场决斗有四轮。因此,Roundnumber表示它是哪一个圆(从0到3) 当我更新状态时,我想从下一轮更新状态。 但是我怎样才能在一次扳机中进入下一轮呢 我试过这样的方法:(更新前)Triggers Mariadb触发器集特定行,triggers,mariadb,Triggers,Mariadb,嘿,我的扳机有问题。。。 我有一个桌上决斗轮(Id、状态、获胜者、轮号、决斗……) 每场决斗有四轮。因此,Roundnumber表示它是哪一个圆(从0到3) 当我更新状态时,我想从下一轮更新状态。 但是我怎样才能在一次扳机中进入下一轮呢 我试过这样的方法:(更新前) 但是我不能在那里使用可变状态。有什么想法吗?您不能使用触发器来更新触发器附加到的同一个表 相反,您可以使用一个存储过程来执行事务中的两个更新 至于错误本身,语法SET status=1,其中不正确,触发器需要一个有效的SQL语句(
但是我不能在那里使用可变状态。有什么想法吗?您不能使用触发器来更新触发器附加到的同一个表 相反,您可以使用一个存储过程来执行事务中的两个更新
至于错误本身,语法
SET status=1,其中
不正确,触发器需要一个有效的SQL语句(SET
没有WHERE子句)。Edit:对于该代码,有一个错误未知的系统变量“status”(1193),非常感谢您的快速回答!然后我将使用存储过程进行尝试:)
BEGIN
IF new.Status = 3 THEN
SET status = 1
WHERE NEW.RoundNumber = DuelRound.RoundNumber -1
AND NEW.DuelId = DuelRound.DuelId;
END IF;
END