如何知道MySQL触发器中更改了哪个字段?

如何知道MySQL触发器中更改了哪个字段?,mysql,database,stored-procedures,triggers,Mysql,Database,Stored Procedures,Triggers,我有两张桌子:员工和部门。它们有以下描述 EMPLOYEE: NAME, SSN, SALARY, DNO DEPARTMENT: NAME, DNO, TOTAL_SAL SSN是员工的主键,DNO是部门的主键。employee.DNO是引用DEPARTMENT.DNO的外键。EDEPARTMENT.TOTAL_SAL是一个派生字段,用于存储给定部门员工的工资总额 我想开发触发器,使总销售额保持最新 例如,我有一个触发器,当插入一个新的安瓿时,它会使总量保持最新 DELIMITER | CR

我有两张桌子:员工和部门。它们有以下描述

EMPLOYEE: NAME, SSN, SALARY, DNO
DEPARTMENT: NAME, DNO, TOTAL_SAL
SSN是员工的主键,DNO是部门的主键。employee.DNO是引用DEPARTMENT.DNO的外键。EDEPARTMENT.TOTAL_SAL是一个派生字段,用于存储给定部门员工的工资总额

我想开发触发器,使总销售额保持最新

例如,我有一个触发器,当插入一个新的安瓿时,它会使总量保持最新

DELIMITER |
CREATE TRIGGER total_sal_trg
BEFORE INSERT ON EMPLOYEE
FOR EACH ROW
BEGIN
  UPDATE DEPARTMENT
  SET TOTAL_SAL=TOTAL_SAL+NEW.SALARY
  WHERE DEPARTMENT.DNO=NEW.DNO;
END|
DELIMITER ;
但是,在其他3个事件中,总销售额也会发生变化:

1-When the salary of some employee is changed.
2-When the department of some employee is changed.
3-When some employee is removed.
在第1部分和第2部分中,我试图开发一个触发器,在EMPLOYEE表上发生更新事件时触发。也就是说,我试图为这两种情况开发一个单一触发器。但是,为了做到这一点,我需要知道员工的哪个领域发生了变化。如果部门换了,我需要做点什么。如果工资改变了,就有必要做些别的事情

有没有办法知道触发触发器的更新事件中字段发生了什么变化

是否有其他方法来实现触发器以覆盖事件1和2

我正在使用MySQL 5.7

先谢谢你。 致以最良好的祝愿