触发器根本不起作用

Trigger doesn't work at all

我有这些表: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.

我通过 phpmyadmin 定义了这个触发器:

这里是代码中的触发器:

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 将其状态更新为已批准时,我根本没有看到出席更新。

为什么它不起作用?以及如何让它发挥作用?

我的 OS 是 windows 7 并使用 xampp 7.1.11.

UPDATE SET 部分中的 and 字是问题所在。 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