mysql触发器函数使用date add函数

时间:2015-02-28 07:27:37

标签: mysql triggers

我正在尝试使用phpadmin在mysql中使用date add函数创建一个触发器并获取语法错误;我的目标是在估计的完成日期列中自动添加日期,即' fin_dt'自订单发出之日起14天。即当前日期加14天。我已经提出了以下mysql状态但是收到错误:

DELIMITER $$ 
CREATE TRIGGER before_insert_orderin BEFORE INSERT ON order_in 
BEGIN 
SET NEW.fin_dt = SELECT DATE_ADD(CURDATE(), INTERVAL 14 DAY) ;

END $$

2 个答案:

答案 0 :(得分:0)

您的触发器语法错误。您遗失了for each row,也无需select来设置值。它应该是

delimiter //
create trigger before_insert_orderin before insert on order_in 
for each row 
begin
  set new.fin_dt = date_add(curdate(),interval 14 day);
end ; //

delimiter ;

答案 1 :(得分:0)

“SET NEW.fin_dt = SELECT DATE_ADD(CURDATE(), INTERVAL 14 DAY)”附近的触发器语法 SELECT DATE_ADD 是错误的。应该是

 CREATE TRIGGER `before_insert_orderin` 
 BEFORE INSERT ON `order_in`
 FOR EACH ROW 
 SET NEW.fin_dt=DATE_ADD(NOW(), INTERVAL 14 DAY)