MySQL Trigger语法错误意外结束输入

时间:2013-01-12 04:48:24

标签: mysql sql triggers insert

这是我正在使用的查询

create trigger trig1 after insert on participant for each row
begin
insert into team(sap) select sap from participant order by ID desc limit 1,1
end;

在将新行插入参与者表后,应该将参与者表中的sap字段复制到团队表的sap字段中 引擎在“结束”

结束时显示意外的输入错误结束

我已经尝试了很多方法来重写查询,但我一直得到同样的错误 我做错了什么?

感谢

1 个答案:

答案 0 :(得分:3)

您使用触发器而不需要在同一个表上运行查询以获取最新的 sap 值,您可以使用 new.sap 直接获取该值。

查询中的

问题,在您的查询中,您没有在 INSERT..SELECT 查询和 END 关键字后面加分号(;)

这对你有用:

DELIMITER $$

DROP TRIGGER /*!50032 IF EXISTS */ `trig1`$$

CREATE
    TRIGGER `trig1` AFTER INSERT ON `participant` 
    FOR EACH ROW BEGIN
        INSERT INTO team(sap) 
        VALUES(new.sap);
    END;
$$

DELIMITER ;