Si usa MySQL>=5.0, use un disparador:
CREATE TRIGGER setDefaultDate
BEFORE INSERT ON tableName
FOR EACH ROW
SET NEW.date = ADDDATE(curdate(), INTERVAL 30 DAY);
El disparador
se activará cuando inserte en tableName
, configurando date
a ahora + 30 días. Si su inserción establece la fecha, anulará este valor predeterminado debido a BEFORE
. La fecha se calcula usando ADDDATE
.