我的 SQL 触发器更新前
My SQL Trigger Before Update
如果此问题已被问过一百万次,我深表歉意!
所以我试图在 table 上创建一个触发器,当员工被分配任务时 pick_date 会更新以显示这一点。如果日期字段为空,它只应更新日期字段。订单号、员工和订单_pick_date都在同一个table.
我有以下触发器,但我似乎无法将其设置为 运行。
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;
一个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 服务器语法),但我认为这就是您的意图。
如果此问题已被问过一百万次,我深表歉意!
所以我试图在 table 上创建一个触发器,当员工被分配任务时 pick_date 会更新以显示这一点。如果日期字段为空,它只应更新日期字段。订单号、员工和订单_pick_date都在同一个table.
我有以下触发器,但我似乎无法将其设置为 运行。
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;
一个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 服务器语法),但我认为这就是您的意图。