【问题标题】:Date + X days as default value for a column [duplicate]日期+ X天作为列的默认值[重复]
【发布时间】:2019-05-14 10:19:43
【问题描述】:

我有 2 列,import_date 和 expire_date

所以在导入日期默认值是CURRENT_TIMESTAMP,有没有办法可以设置列'expire_date'default (define) = CURRENT_TIMESTAMP + 2 daysCURRENT_TIMESTAMP + 48 hours的值?

我正在使用 MariaDB

或者,我可以在 php 中获取当前时间戳,添加 2 天并在导入时更新列。但如果可能的话,我更愿意设置一个默认值。

【问题讨论】:

    标签: mysql mariadb


    【解决方案1】:

    您可以使用 DATE_ADD 函数来做到这一点。

    很难设置默认时间戳。你使用触发器来完成这个任务。

    CREATE TRIGGER trigger_name
    AFTER INSERT
       ON table_name FOR EACH ROW
    
    BEGIN
    
       UPDATE yourtable SET expire_date=DATE_ADD(CURRENT_TIMESTAMP,INTERVAL 2 DAY);
    
    END;
    

    【讨论】:

    • 不!这会更新表中的每一行!你只想要SET NEW.expire_date = OLD.import_date + INTERVAL 14 DAY;
    猜你喜欢
    • 2015-01-26
    • 2015-02-09
    • 2021-01-07
    • 2012-04-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 2014-01-12
    相关资源
    最近更新 更多