有没有办法将列的默认值设置为过期日期(距离CURRENT_TIMESTAMP
几个小时)?
我已经尝试过了:
ALTER TABLE `table`
ADD COLUMN `expire` TIMESTAMP NOT NULL DEFAULT TIMESTAMPADD(HOUR, 5, CURRENT_TIMESTAMP);
但是没有用..
答案 0 :(得分:6)
您无法像表定义中那样实现复杂的默认值。
如果您愿意,可以使用触发器执行此操作:
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 ;