如何在创建表时增加列值

时间:2014-06-25 11:47:59

标签: mysql create-table

我创建了一个包含日期列的表(使用用户输入完成)。是否可以在输入日期+ 30天内添加自动填充的列?先感谢您。

3 个答案:

答案 0 :(得分:2)

列设置不可能,但您可以使用触发器:

DELIMITER //
CREATE TRIGGER interval_bi BEFORE INSERT ON your_table
FOR EACH ROW
    BEGIN
        IF NEW.mydate
        THEN 
            SET NEW.date_and_30 = DATE_ADD(NEW.mydate, INTERVAL 30 DAY);
        END IF;
    END //
DELIMITER ;

BEFORE UPDATE相同。

答案 1 :(得分:1)

您可以使用before insert触发器创建此类列。

但是,为什么要这么麻烦?您还可以创建包含此信息的视图:

create view v_table as
    select t.*, (inputdate + interval 1 month) as OneMonthLater
    from table;

答案 2 :(得分:1)

您可以使用触发器来实现此目的。 See this link