2013-09-30 147 views
0

我有一個關於MySQL中的觸發器的一般問題。我試圖寫一個觸發器,但我不確定什麼時候觸發,使用INSERT .. ON DUPLICATE KEY UPDATE查詢(主要是更新部分)不斷更新表,以便觸發哪個事件(插入或更新)?或者它可以觸發兩個事件,具體取決於哪個部分會生效?MySQL插入和更新觸發器

感謝

+0

這真的是RTFM問題 - 爲什麼不直接在[docs](http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html)中閱讀? –

回答

2

您可以定義觸發不同的事件:插入

  • 後更新之前
  • 更新後

    • 插入之前

    DELIMITER $$ 
    CREATE TRIGGER tgr_your_table AFTER INSERT ON your_table 
    FOR EACH ROW BEGIN 
        .... 
    END 
    $$ 
    DELIMITER ; 
    
  • +0

    是的,我知道這一點。但是,在你的例子中,這個觸發器是否可以在一個被「ON DUPLICATE KEY UPDATE」部分查詢影響的表上工作? –

    +0

    當表有更新或插入觸發器時,無論啓動更新/插入的方式如何。 –