gpt4 book ai didi

Mysql TRIGGER ON UPDATE 函数

转载 作者:行者123 更新时间:2023-11-29 07:05:01 24 4
gpt4 key购买 nike

当我修改另一个表时,我正在尝试创建一个更新表的触发器...这是我的代码:

CREATE TRIGGER updpartido AFTER UPDATE ON partidos
ON EACH ROW
BEGIN
SET @vgls = SELECT vgoles(NEW.eqvis)
SET @lgls = SELECT vgoles(NEW.eqloc)
UPDATE equipos SET gf=@vgls WHERE id=NEW.eqvis
UPDATE equipos SET gf=@lgls WHERE id=NEW.eqloc
END

它必须做的是,当我更新一场比赛时,它必须自动运行这个触发器并更新目标。

但是它给了我一个错误。我做错了什么?谢谢,祝你有美好的一天......!

最佳答案

我注意到您的触发器中没有任何语句终止符,这会引起一些提示,因为例如,SET @lgls = SELECT vgoles(NEW.eqloc) UPDATE equipos SET gf=@vgls WHERE id=NEW.eqvis 没有任何意义。因此,您需要在触发器中使用一些分号,但您还需要通过临时更改定界符让这些分号通过解析器。当它应该是 FOR EACH ROW 时,您还在使用 ON EACH ROW:

delimiter |
CREATE TRIGGER updpartido AFTER UPDATE ON partidos
FOR EACH ROW
BEGIN
SET @vgls = SELECT vgoles(NEW.eqvis);
SET @lgls = SELECT vgoles(NEW.eqloc);
UPDATE equipos SET gf=@vgls WHERE id=NEW.eqvis;
UPDATE equipos SET gf=@lgls WHERE id=NEW.eqloc;
END;
|
delimiter ;

关于Mysql TRIGGER ON UPDATE 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7870699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com