繁体   English   中英

日期为mysql的创建日期和上次更新日期

[英]Date For date created and date last updated for mysql

我使用 PHP 在 MySQL 中输入了一个表,代码如下:

`DateCreated` datetime NOT NULL,
`DateLastUpdated` datetime NOT NULL,

它没有工作,它在日期和时间上显示 0,我正在尝试找出如何将其更改为CURRENT_DATE()以仅记录没有时间的日期,我该怎么做才能使 DateCreated 记录日期submit 和 DateLastUpdated 记录更新的日期。 这是我的第一个数据库,无法解决这个问题,有人可以帮忙。 谢谢

据我了解你的问题,你需要使用

TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

如果时间戳列定义为NOT NULL ,MySQL的存储在列当前时间戳,如果你不分配一个值,或者如果它的值为NULL

据我了解,您想要一个只有日期的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替换为您的架构和表的正确名称。

希望这有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM