我有这些表:Attendence(id,start_time as TIME,end_time as TIME)
和editattendencerequest(id,attendence_id,new_start_time,new_end_time,status as ENUM('Approved','Rejected','Pending')
现在,当通过更新其状态批准编辑请求时,我希望数据库自动将指定的注意事项的start_time和end_time更新为new_start_time和new_end_time。
这是代码中的触发器:
IF NEW.status <> OLD.status THEN
IF NEW.status = 'Approved' THEN
UPDATE attendence set start_time = NEW.start_time and end_time=NEW.end_time where id = NEW.attendence_id;
END IF;
END IF
然而,当我插入注意力时,插入一个编辑请求,然后通过phpmyadmin将其状态更新为Approved all我根本没有看到更新的注意事项。
那么为什么它不起作用?以及如何使它工作?
我的操作系统是Windows 7并使用xampp 7.1.11。
答案 0 :(得分:0)
UPDATE的and
部分中的SET
字是问题。 SET部分中的字段应以逗号分隔,请尝试改为:
IF NEW.status <> OLD.status THEN
IF NEW.status = 'Approved' THEN
UPDATE attendence
SET start_time = NEW.start_time, end_time = NEW.end_time
WHERE id = NEW.attendence_id;
END IF;
END IF