4
是否有任何方法将列的默认值设置为过期日期(从CURRENT_TIMESTAMP
开始的几个小时)?作为TIMESTAMP列的默认值的过期日期
我已经尝试:
ALTER TABLE `table`
ADD COLUMN `expire` TIMESTAMP NOT NULL DEFAULT TIMESTAMPADD(HOUR, 5, CURRENT_TIMESTAMP);
但没有工作..
是否有任何方法将列的默认值设置为过期日期(从CURRENT_TIMESTAMP
开始的几个小时)?作为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 ;
'TIMESTAMP'和'DATETIME'列可以默认为'CURRENT_TIMESTAMP',而不是通过函数计算出的值。最好的办法就是像艾克一样。 – 2012-03-15 14:34:37