2013-09-30 146 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

    当表有更新或插入触发器时,无论启动更新/插入的方式如何。 –