Triggers Mariadb触发器集特定行

Triggers Mariadb触发器集特定行,triggers,mariadb,Triggers,Mariadb,嘿,我的扳机有问题。。。 我有一个桌上决斗轮(Id、状态、获胜者、轮号、决斗……) 每场决斗有四轮。因此,Roundnumber表示它是哪一个圆(从0到3) 当我更新状态时,我想从下一轮更新状态。 但是我怎样才能在一次扳机中进入下一轮呢 我试过这样的方法:(更新前) 但是我不能在那里使用可变状态。有什么想法吗?您不能使用触发器来更新触发器附加到的同一个表 相反,您可以使用一个存储过程来执行事务中的两个更新 至于错误本身,语法SET status=1,其中不正确,触发器需要一个有效的SQL语句(

嘿,我的扳机有问题。。。 我有一个桌上决斗轮(Id、状态、获胜者、轮号、决斗……) 每场决斗有四轮。因此,Roundnumber表示它是哪一个圆(从0到3) 当我更新状态时,我想从下一轮更新状态。 但是我怎样才能在一次扳机中进入下一轮呢

我试过这样的方法:(更新前)


但是我不能在那里使用可变状态。有什么想法吗?

您不能使用触发器来更新触发器附加到的同一个表

相反,您可以使用一个存储过程来执行事务中的两个更新


至于错误本身,语法
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