如何获得创建或上次更新mysql触发器的时间?

时间:2015-07-28 09:55:38

标签: mysql database triggers

我们的mysql数据库中有一个触发器,它在更新时会影响数据库中的某些数据。但是对于某些计算,我们需要知道何时首次创建此触发器以及何时最后更新。是否可以从information_schema或其他任何地方获取此数据?

3 个答案:

答案 0 :(得分:0)

不幸的是答案是否定的。在模式中有一个用于触发器的列CREATED,但它在当前时间未使用(总是为NULL):

  

以下列目前始终包含NULL:TRIGGER_CATALOG,   EVENT_OBJECT_CATALOG,ACTION_CONDITION,ACTION_REFERENCE_OLD_TABLE,   ACTION_REFERENCE_NEW_TABLE和CREATED。

答案 1 :(得分:0)

您可以在INFORMATION_SCHEMA.TRIGGERS中找到有关触发器的信息:

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS

希望有所帮助。

答案 2 :(得分:0)

试试这个,

我不知道您用于创建的数据类型。

但是,例如,我使用DATETIME。

在插入之前,您只需要使用SET:

创建

DELIMITER $$ CREATE 
  TRIGGER yourtriggername BEFORE INSERT ON yourtablename 
    FOR EACH ROW
      SET NEW.created = NOW();
END$$ DELIMITER ;

<强>更新

DELIMITER $$ CREATE  
    TRIGGER yourtriggername AFTER UPDATE ON yourtablename
      FOR EACH ROW BEGIN  
        SET NEW.updated = CURRENT_TIMESTAMP where.....yourconditions;   
END$$ DELIMITER ;

希望它可能会有所帮助。