2011-01-06 132 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計算。