MySQL更新触发器-如何检测未通过的值?

MySQL更新触发器-如何检测未通过的值?,mysql,triggers,Mysql,Triggers,假设我有以下可能的疑问: UPDATE table SET field1 = 2 WHERE id = 1; UPDATE table SET field1 = 4, field2 = 8 WHERE id = 16; 表在更新之前有一个触发器,它根据字段1计算字段2的新值,但我希望它仅在我没有特别传递值的情况下才这样做 我检测到对field1的更改,如果是旧的field1!=NEW.field1然后…,但是我如何检测field2是否被传递,而不管值实际发生了变化?如果MySQL没有通过fie

假设我有以下可能的疑问:

UPDATE table SET field1 = 2 WHERE id = 1;
UPDATE table SET field1 = 4, field2 = 8 WHERE id = 16;
在更新之前有一个
触发器,它根据
字段1
计算
字段2
的新值,但我希望它仅在我没有特别传递值的情况下才这样做


我检测到对
field1
的更改,如果是旧的
field1!=NEW.field1然后…
,但是我如何检测
field2
是否被传递,而不管值实际发生了变化?

如果MySQL没有通过
field2
的更新接收到值,它将在
NEW.field2
中包含旧值

在Oracle中,如果未通过更新传递
字段2
,则将获得空值


如果
NEW
OLD
值相同,则可以假定该字段不需要更新。如果所有的
NEW
值与表中已有的值匹配,MySQL也将返回0行更新。

如果MySQL没有通过更新
field2
接收到值,它将在
NEW.field2
中包含旧值

在Oracle中,如果未通过更新传递
字段2
,则将获得空值

如果
NEW
OLD
值相同,则可以假定该字段不需要更新。如果所有
NEW
值与表中已有的值匹配,MySQL还将返回0行更新