我們在我們的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