Пожалуйста, проверьте, работает ли ниже обновленный запрос.
DELIMITER $$
CREATE TRIGGER before_emp_audit_update
BEFORE UPDATE ON emp_audit
FOR EACH ROW BEGIN
IF (SELECT COUNT(*) FROM employees WHERE empno = NEW.empno) = 1
THEN
UPDATE INTO emp_audit
SET ACTION = 'update',
empno = NEW.empno,
lastname = NEW.lastname,
changedat = NOW()
WHERE empno = NEW.empno;
END IF;
END$$
DELIMITER;
Я думаю, вы даже можете удалить empno из вашего списка SET (обновление) и попробовать следующий запрос,
DELIMITER $$
CREATE TRIGGER before_emp_audit_update
BEFORE UPDATE ON emp_audit
FOR EACH ROW BEGIN
IF (SELECT COUNT(*) FROM employees WHERE empno = NEW.empno) = 1
THEN
UPDATE INTO emp_audit
SET ACTION = 'update',
lastname = NEW.lastname,
changedat = NOW()
WHERE empno = NEW.empno;
END IF;
END$$
DELIMITER;