标签: sql mysql
如何在MySQL中将列的默认值设置为当前日期+ 30天?例如,如果当前日期为10-1-2011,则必须将列值插入为9-2-2011。
答案 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计算。
tableName
date
BEFORE
ADDDATE