2012-03-23 119 views
0

我不確定這是否可能,但我有一個高爾夫球場有一個「維護」字段的表格。共有102個高爾夫球場。上次數據庫字段更新的顯示日期? (php,mysql)

那麼,我希望能夠顯示最新日期這102個高爾夫球場「維護」字段中的任何一個都已更新。

當然,我可以在數據庫中創建一個字段,然後手動將日期和時間保存在那裏,但我想看看mysql數據庫是否可以跟蹤那個ANYWAY?

任何幫助,想法,我們將不勝感激。謝謝!

+0

哪些數據是在維護現場? – liquorvicar 2012-03-23 17:27:25

+3

我會添加一個'updated_at''timestamp'字段,並在行更新時使字段默認值更新。否則,你的數據庫將不會跟蹤它。 – mikelbring 2012-03-23 17:34:31

+0

我通常在類似的情況下創建一個字段。它是有用的,並且可以在不更新時間戳的情況下手動輕鬆地進行修改。 – 2012-03-23 17:41:39

回答

0

一種方法是添加自動更新last_updated字段。但是,這裏的缺點是當該記錄的任何字段被更新時,它將被更新,而不僅僅是maintenance字段。

CREATE TABLE `golf_courses` (
    `id` int UNSIGNED NULL AUTO_INCREMENT , 
    `maintenance` text NULL , 
    `last_maintenance` timestamp NULL ON UPDATE CURRENT_TIMESTAMP , 
    PRIMARY KEY (`id`) 
); 

另一種解決方案,當然,正如你提到的,手動記錄最後一次維護的時間:

UPDATE 
    `golf_courses` AS `g` 
SET 
    `g`.`maintenance` = 'new maintenance value', 
    `g`.`last_maintenance` = NOW();