将列属性设置为日期和时间

时间:2016-10-07 01:06:03

标签: mysql sql

我正在使用MySql,我必须将我的列中某个字段的时间戳设置为比当前时间戳提前4天。我创建了相同的触发器。

我的时间戳字段是Insert_Time和Bid_Time,默认值设置为Current_Timestamp。

My Trigger Query: 
CREATE TRIGGER setDefaultDate BEFORE INSERT ON product FOR EACH ROW SET New.Bid_Time = ADDDATE(curdate(), INTERVAL 4 DAY);  

我尝试将行插入表中但触发器似乎无效。在这两个字段中,我只能看到当前时间戳。enter image description here

My Insert Query:
insert into test.product (ITEM_NAME,ITEM_DESC,Item_Price, ITEM_QTY,SELLER_FIRSTNAME, SELLER_LASTNAME,EMAIL,SELLER_USERNAME,CATEGORY,GROUP_NAME,Bid,COND ) values ('J.K Rowling','HARRYPOTTER AND MYSTERY ','60','10','sahil','kaw', 'sahil1.kaw@gmail.com', 'sahraw','BOOKS','FICTION','1','NEW');

是因为我在插入时没有提供时间戳值。

请找到附表的屏幕打印表格。

1 个答案:

答案 0 :(得分:0)

这主要是猜测,但我很确定问题是bid_time的默认值为timestamp。这些列会自动初始化。

不幸的是,关于这个问题的大量documentation似乎没有解决触发因素。但是,我可以很容易地想象自动值会超越触发器。