Expire date as default value for TIMESTAMP column

巧了我就是萌 提交于 2019-12-07 05:28:23

问题


Is there any way to set the default value for a column as an expire date (some hours from CURRENT_TIMESTAMP)?

I have already tried:

ALTER TABLE `table` 
ADD COLUMN `expire` TIMESTAMP NOT NULL DEFAULT TIMESTAMPADD(HOUR, 5, CURRENT_TIMESTAMP);

But didn't work..


回答1:


You can't implement a complex default value like that in the table definition.

You can do it with a trigger if you want:

DELIMITER $$

DROP TRIGGER IF EXISTS tr_b_ins_table $$

CREATE TRIGGER tr_b_ins_table BEFORE INSERT ON table FOR EACH ROW BEGIN
  SET NEW.expire = NOW() + INTERVAL 5 HOUR;
END $$

DELIMITER ;


来源:https://stackoverflow.com/questions/9721804/expire-date-as-default-value-for-timestamp-column

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!