2011-01-06 129 views
6

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

+2

接受一些以前的答案,你会赢得声誉,并在未来得到更好的答案。 – fredley 2011-01-06 11:24:38

回答

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计算。