即使它不是更新数据的一部分,如何在触发器中查看最终的MySQL列值?

时间:2014-11-30 22:50:37

标签: mysql triggers

即使我没有更新该特定列,如何在AFTER UPDATE触发器中获取列的最终值? NEW.columnname是否始终具有该列的最终值?

如果没有,我怎样才能获得最终价值?

MySQL Trigger Manual Page上 它说下面的内容对我来说是不确定的:

  

在UPDATE触发器中,您可以使用OLD.col_name在更新行之前引用行的列,使用NEW.col_name在更新行之后引用该行的列。

NEW是引用行的所有数据还是引用提交的数据?

1 个答案:

答案 0 :(得分:1)

  

NEW是指所有行的数据还是只提交提交的数据?

是的(文档)是指正在更新的行的所有列。因此,您可以安全地使用NEW关键字来处理任何列,而不仅仅是您实际更新过的列。

这是 SQLFiddle 演示。 虽然只更新了col2,但所有其他列都可以访问。