2016-09-21 128 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