如何在MySQL中使列的默认值等于当前日期+ 30天?例如,如果当前日期为10-1-2011,则必须将列值插入为9-2-2011。
如果您使用的是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。
tableName
date
BEFORE
ADDDATE