我们在我们的mysql数据库中有一个触发器,它在更新时会影响数据库中的一些数据。但是对于一些计算,我们需要知道该触发器何时首次创建以及何时最新更新。是否有可能从information_schema或其他地方获取这些数据?如何获取创建或上次更新mysql触发器的时间?
2
A
回答
0
不幸的是答案是否定的。还有在目前的时间是在架构中的触发器创建了一列,但它是未使用(总是NULL):
下面列目前总含有NULL:TRIGGER_CATALOG, EVENT_OBJECT_CATALOG,ACTION_CONDITION,ACTION_REFERENCE_OLD_TABLE, ACTION_REFERENCE_NEW_TABLE,和创建。
0
您可以在INFORMATION_SCHEMA.TRIGGERS找到有关触发器的信息:
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
希望有所帮助。
+0
不幸的是我没有看到任何有用的列在触发表 – FRX
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 ;
希望它可以帮助。
相关问题
- 1. 创建触发器以更新插入或更新记录上的时间戳?
- 2. 在sqldeveloper中触发创建/上次更新时间
- 3. 使用更新增量列或创建更新触发器 - mysql
- 4. 如何创建更新触发器
- 5. 更新触发器上的Mysql更新
- 6. 创建更新触发器
- 7. 创建更新触发器
- 8. 如何为MySQL DB创建自动更新触发器?
- 9. MYSQL更新触发器获取更新的行ID
- 10. 在创建触发器时触发现有表上的MySQL触发器
- 11. 当更新或插入表中发生更新列值时创建触发器
- 12. 如何创建触发器的MySQL 5.6
- 13. MySQL触发器创建定时器
- 14. 如何在SQL Server 2008上创建插入更新触发器
- 15. 更新触发器上的MySql。 DELIMITER
- 16. 如何在Teradata表中创建更新时间戳的触发器?
- 17. 如何在更新其他表时创建触发器
- 18. 如何为mysql 5.5.44创建触发器?
- 19. 如何在mysql中创建触发器?
- 20. 如何创建这个MySQL触发器?
- 21. 更新Derby触发器:如何更新时间戳?
- 22. 在mysql中获取行创建/更新时间戳/日期
- 23. 创建INSERT触发器更新CreatedBy和UpdatedBy而不触发相同表上的更新触发器
- 24. 无法在mysql上创建触发器
- 25. 使用Hibernate和MySQL创建时间戳和上次更新时间戳
- 26. 如何创建在表中完成任何插入或更新时触发的触发器?
- 27. 创建触发器Mysql
- 28. 创建MySQL触发器
- 29. Mysql创建触发器
- 30. 在SQL Server 2008 R2上创建触发器以获取记录更新
伤心!创建/更新列可以非常有用! – FRX
没有解决问题,但接受为最佳答案,因为没有人提供解决方案。但是,当有人编写触发器并在一段时间后发现它没有按照它应该做的那样并且希望通过观察到目前为止受到影响的行来反转更改时,这不是一种常见情况吗?希望创建的列在下一个mysql版本中变得有用。 – FRX