我们的mysql数据库中有一个触发器,它在更新时会影响数据库中的某些数据。但是对于某些计算,我们需要知道何时首次创建此触发器以及何时最后更新。是否可以从information_schema或其他任何地方获取此数据?
答案 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 ;
希望它可能会有所帮助。