2014-04-30 147 views
1

如何使用用於在觸發器本身中觸發「觸發器」的數據?例如,假設我們有一個創建新任務(mission_id)的用戶(user_id),因此在名爲missions的表中輸入了一個新行。MySQL觸發器使用觸發器查詢中的數據

現在我想通過使用特定的user_idmission_id在表中創建一個名爲log的日誌。

什麼是正確的語法來做到這一點?

回答

1

您可以訪問僞行OLD and NEW來執行此操作。 新包含新數據(例如插入和新更新數據),舊包含傳出數據(更新前的刪除和舊值)。

CREATE TRIGGER t_missions 
    BEFORE INSERT ON Missions 
    FOR EACH ROW 
BEGIN 
    INSERT INTO Log(user_id, mission_id) VALUES(new.user_id, new.mission_id); 
END; 

SqlFiddle here

+0

能否請您使用我上面介紹的情況下告訴我一個例子? –

+0

加了小提琴:) – StuartLC

+0

我在你的債務=) –