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

时间:2011-01-06 11:20:19

标签: sql mysql

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

1 个答案:

答案 0 :(得分:6)

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

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

trigger会在您插入tableName时激活,将date设置为现在+ 30天。如果您的插入设置了日期,则由于BEFORE,它将覆盖此默认值。日期使用ADDDATE计算。