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

Nar*_*dra 6 mysql sql

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

mar*_*cog 6

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

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

触发器,当你插入将激活tableName,设置date到现在+ 30天.如果您的插入设置日期,它将覆盖此默认值,因为BEFORE.日期使用计算ADDDATE.