2013-01-12 135 views
3

这个意外结束是我使用MySQL的触发语法错误输入

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领域的新行后的查询被插入到用户表 引擎显示我输入错误在结束了意外的结束“结束”

我已经试过许多方法来返工查询,但我不断收到同样的错误 我在做什么错误?

感谢

+2

我们无法知道,除非您发布的代码你在做什么错。请发布您的相关代码。 –

回答

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 ; 
+0

非常感谢....工作....实际上我不知道新的关键字是什么 –