2016-09-21 113 views
-5

我已經在MySQL中使用PHP與下面的代碼進入了一個表試圖找出如何將其更改爲CURRENT_DATE()來記錄沒有時間的日期,我怎樣才能使DateCreated記錄成爲提交日期,並且DateLastUpdated記錄了更新的日期。這是我的第一個數據庫,並不能解決這個問題,有人可以幫忙。由於日期創建日期和上一次更新日期爲MySQL

+0

把一些代碼..! – Noman

+0

請向我們展示插入代碼 – arunrc

+0

您用於將當前日期插入到數據庫中的PHP代碼是什麼? –

回答

0

據我理解你的問題,你需要使用

TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

如果時間戳列列定義爲NOT NULL,MySQL的存儲當前時間戳,如果你沒有指定值,或者如果它有NULL

+0

TIMESTAMP,據我瞭解,從我的搜索是日期和時間,但我只查找日期。 – user3103193

0

值據我瞭解,你想要一個DateCreatedDateLastUpdated只有日期的列?那麼你應該使用date作爲列的類型。 datetime總是包含時間。

完成此操作後,可以使用CURRENT_DATE()方法作爲DateCreated列的默認值。

DateLastUpdated,您將需要一個觸發如下所示:

DELIMITER $$ 

DROP TRIGGER IF EXISTS new_schema.my_table_BEFORE_UPDATE$$ 
USE `my_schema`$$ 
CREATE DEFINER = CURRENT_USER TRIGGER `my_schema`.`my_table_BEFORE_UPDATE` BEFORE UPDATE ON `my_table` FOR EACH ROW 
BEGIN 
    SET NEW.DateLastUpdated = CURRENT_DATE(); 
END$$ 
DELIMITER ; 

您需要爲您的架構和表的正確名稱,以取代my_tablemy_schema

希望這個工程。

+0

什麼是my_schema? – user3103193

+0

數據庫的名稱。 (如果你不知道名字,它應該在你的代碼中包含的config.php中定義。) – Clemenz