gpt4 book ai didi

php - Mysql创建日期(记录更新时不更新)

转载 作者:可可西里 更新时间:2023-11-01 07:17:10 24 4
gpt4 key购买 nike

我正在做一个 mysql 表,我有一列具有更新的当前时间戳。这很棒,因为我可以准确地看到有人上传内容的时间。但我不希望在他们编辑上传时更改该列。最好坚持使用一个名为“创建日期”的列并且没有更新或使用两列“创建日期和修改日期” - 如果是这样,列属性和 PHP 更新语句的最佳实践是什么?

最佳答案

我通常喜欢有一个单独的“CreateDate”和“LastModifiedDate”。

至于设置它,如果您可以将 CreateDate 列的默认值设置为 NOW() 就好了,但是 MySQL doesn't allow that .

因此,最简单的选择是使用插入触发器来执行此操作:

CREATE TRIGGER tbl_insert BEFORE INSERT ON `tbl`
FOR EACH ROW SET NEW.CreateDate = NOW(), NEW.LastModifiedDate = NOW();

预计到达时间:

您可以使用默认值为 CURRENT_TIMESTAMPTIMESTAMP 字段和 LastModifiedDate 的 ON UPDATE CURRENT_TIMESTAMP 约束。不幸的是,您不能在同一个表上有两个这样的 TIMESTAMP 列,因此触发器是处理 CreateDate 列所必需的。

关于php - Mysql创建日期(记录更新时不更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4948776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com