一尘不染

在MySQL中插入默认值作为当前日期+ 30天

sql

如何在MySQL中使列的默认值等于当前日期+ 30天?例如,如果当前日期为10-1-2011,则必须将列值插入为9-2-2011。


阅读 138

收藏
2021-03-10

共1个答案

一尘不染

如果您使用的是MySQL> = 5.0,请使用触发器:

CREATE TRIGGER setDefaultDate
    BEFORE INSERT ON tableName
    FOR EACH ROW
    SET NEW.date = ADDDATE(curdate(), INTERVAL 30 DAY);

当您插入时,触发器将激活tableName,设置date为现在+
30天。如果您的插入内容设置了日期,由于,它将覆盖该默认值BEFORE。日期是使用计算的ADDDATE

2021-03-10