如果此问题已被问过一百万次,我道歉!
因此,当我为员工分配了一个更新pick_date以显示此任务的任务时,我正在尝试在表上创建一个触发器。它只应更新日期字段,如果它为null。订单号,employee和order_pick_date都在同一个表中。
我有以下触发器,但我似乎无法让它运行。
CREATE TRIGGER pickDate BEFORE UPDATE
ON order_master
FOR EACH ROW BEGIN
UPDATE order_master SET NEW.order_pick_date = IFNULL(SYSDATE(),) WHERE order_master.order_no = old.order_no
END;
答案 0 :(得分:0)
before update
触发器很好。你只是不想做update
。只需在new
记录上设置值:
CREATE TRIGGER pickDate BEFORE UPDATE
ON order_master
FOR EACH ROW BEGIN
SET NEW.order_pick_date = COALESCE(old.order_pick_date, now()) ;
END;
还有一些其他问题(例如getdate()
是SQL Server语法),但我认为这是你想要的。