You cannot implement a complex default value like this in a table definition.
You can do this 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 ;
source share