MYSQL自动设置到期日

时间:2015-02-26 18:13:09

标签: php mysql date timestamp

我在新项目中,我需要为每个帖子设置一个到期日期, 这样我就可以创建一个mysql事件,删除所有到期日期的帖子。 我试过这个:

alter table anuncios
MODIFY dataexpiracao TIMESTAMP on update TIMESTAMPADD(DAY,30,'NOW()');

这给了我一个错误的语法...请帮助我 我不知道它是否是最好的解决方案,但这是我在一些研究后发现的独特之处,如果你知道其他一些人告诉我,你能说出如何制作mysql事件吗? / p>

1 个答案:

答案 0 :(得分:0)

您无法在表格定义中执行此操作。但是,您可以创建一个触发器,在插入或更新行之前自动为您设置日期。 https://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

以下是为所有新行设置30天的到期日期的示例。

    CREATE TRIGGER set_expiration_date 
    BEFORE INSERT ON `anuncios`
    FOR EACH ROW SET NEW.dataexpiracao  = DATE_ADD(NOW(), INTERVAL 30 DAY);