2012-10-23 17 views
4

我的mysql表中有2列:created_on和modified_on.I已將created_on列的默認值設置爲CURRENT_TIMESTAMP。因此在表中的每個插入操作時,created_on列將該值正確設置爲當前時間戳。但是,當我更新同一行時,'modified_on'列將值更新爲更新時的時間戳。讓我知道如果我使用任何功能/觸發器這樣做,或者是有相同如何讓mysql自動將列更新爲每次修改行操作的當前時間戳?

+1

使用觸發器自動更新 –

+0

您是否使用任何ORM框架? – user1516873

+1

我使用的是hibernate 3.0 – user1767274

回答

1

任何建造MySQL的功能寫觸發這樣做

4

嘗試用ON UPDATE關鍵詞中改變你的表:

ALTER TABLE `tableName` 
CHANGE `modified_on` `modified_on` TIMESTAMP 
ON UPDATE CURRENT_TIMESTAMP; 

或者,您可以在插入時添加默認值:

ALTER TABLE `tableName` 
CHANGE `modified_on` `modified_on` TIMESTAMP 
ON UPDATE CURRENT_TIMESTAMP 
NOT NULL DEFAULT CURRENT_TIMESTAMP ; 

您還可以在創建表格時將ON UPDATE定義爲時間戳記數據類型。

相關問題