有没有办法将列的默认值设置为过期日期(从 CURRENT_TIMESTAMP
开始的几个小时)?
我已经试过了:
ALTER TABLE `table`
ADD COLUMN `expire` TIMESTAMP NOT NULL DEFAULT TIMESTAMPADD(HOUR, 5, CURRENT_TIMESTAMP);
但是没用..
最佳答案
您不能像表定义中那样实现复杂的默认值。
如果需要,您可以使用触发器来完成:
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 ;
关于mysql - 过期日期作为 TIMESTAMP 列的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721804/