mysql - 如何将SQL中日期时间字段的默认值设置为当前时间戳加上固定的时间跨度?

标签 mysql datetime

我正在用 php 构建一个处理竞赛的应用程序。所以我有开始日期和结束日期。在 MySQL 数据库中,我可以将开始日期的默认值设置为 CURRENT_TIMESTAMP。同样,我可以为结束日期设置一个默认值,例如 CURRENT_TIMESTAMP 再加上 3 天吗?我们非常欢迎对此提出任何建议。

最佳答案

你应该能够通过在 table 上的触发器来做到这一点:

CREATE TABLE test (
    id SERIAL,
    start TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    end DATETIME DEFAULT NULL
);

CREATE TRIGGER ins_update_end
     BEFORE INSERT ON test
     FOR EACH ROW SET NEW.`end` = NOW() + INTERVAL 3 DAY;

INSERT INTO test SET id=12;

SELECT * FROM test;

关于mysql - 如何将SQL中日期时间字段的默认值设置为当前时间戳加上固定的时间跨度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34321334/

相关文章:

python - 根据日期拆分数据框

python - 不能减去偏移天真和偏移感知日期时间

javascript - 是否有浏览器扩展来更改 Date 对象返回的时间?

c# - 在 C# 中将时间添加到 DateTime

mysql - 是否可以选择 MySQL 从组中返回哪些值?

mysql - 在此 mySQL 表和索引中基数为 0 表示什么?

mysql - 克服 MySQL Select 中的时区差异

php - 按第二个表 php 中的名称对帖子进行分组

MySQL 内联 View "unknown fields"

javascript - 为什么 Javascript 会改变我的日期?