4

这是我正在使用的查询

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 字段中,引擎在“结束”末尾向我显示输入错误的意外结束

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

谢谢

4

1 回答 1

4

您正在使用触发器而不需要在同一个表上运行查询来获取最新的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 ;
于 2013-01-12T05:14:12.733 回答