我正在使用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);
我尝试将行插入表中但触发器似乎无效。在这两个字段中,我只能看到当前时间戳。
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');
是因为我在插入时没有提供时间戳值。
请找到附表的屏幕打印表格。
答案 0 :(得分:0)
这主要是猜测,但我很确定问题是bid_time
的默认值为timestamp
。这些列会自动初始化。
不幸的是,关于这个问题的大量documentation似乎没有解决触发因素。但是,我可以很容易地想象自动值会超越触发器。