2013-01-12 167 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

非常感謝....工作....實際上我不知道新的關鍵字是什麼 –