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