2013-05-01 105 views
2

我正在研究一個函數,該函數比較圖像的創建日期和修改日期,並使用PHP + MySQL返回每個案例的狀態。然而,我意識到,我試圖比較的數據最終都使用MySQL中的CURRENT_TIMESTAMP,所以無論何時更新它們最終都會有相同的日期。PHP/SQL創建日期與修改日期

有沒有辦法只保存數據插入數據庫的第一個日期(創建日期),所以它不會根據修改日期更改?

任何幫助表示讚賞,在此先感謝!

UPDATE:

我的時間戳列是使用 「DEFAULT CURRENT_TIMESTAMP」,而不是 「ON UPDATE CURRENT_TIMESTAMP」 選項進行配置。任何其他的工作?

UPDATE2:

請參閱下面我的表定義。

CREATE TABLE IF NOT EXISTS `images` (
    `id` varchar(50) NOT NULL, 
    `patientid` varchar(8) NOT NULL, 
    `caseid` varchar(25) NOT NULL, 
    `image_name` varchar(256) NOT NULL, 
    `status` int(1) unsigned NOT NULL, 
    `comments` varchar(4000) DEFAULT NULL, 
    `mod_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
+0

您正在使用哪些DBMS? Postgres的?甲骨文? – 2013-05-01 14:31:38

+0

@a_horse_with_no_name mySQL – alchuang 2013-05-01 14:58:00

回答

1

好像你的時間戳列是使用「ON UPDATE CURRENT_TIMESTAMP」選項,它會自動更新它們進行配置。

由於看起來沒有辦法在列上進行更改,所以您必須創建一個沒有該選項的新列。

有關詳細信息,請參閱TIMESTAMP手冊timestamp-initialization

+0

我認爲我的時間戳列是使用「DEFAULT CURRENT_TIMESTAMP」而不是「ON UPDATE CURRENT_TIMESTAMP」選項配置的。任何其他的工作? – alchuang 2013-05-01 18:02:36

+0

Coulsd你請張貼你的餐桌定義? – 2013-05-02 05:45:43

+0

我在我的問題中添加了表定義, mod_date' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP – alchuang 2013-05-02 13:22:31