[英]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
据我了解,您想要一个只有日期的DateCreated
和DateLastUpdated
列? 然后您应该使用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_table
和my_schema
替换为您的架构和表的正确名称。
希望这有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.