即使我没有更新该特定列,如何在AFTER UPDATE
触发器中获取列的最终值? NEW.columnname
是否始终具有该列的最终值?
如果没有,我怎样才能获得最终价值?
在MySQL Trigger Manual Page上 它说下面的内容对我来说是不确定的:
在UPDATE触发器中,您可以使用OLD.col_name在更新行之前引用行的列,使用NEW.col_name在更新行之后引用该行的列。
NEW
是引用行的所有数据还是引用提交的数据?
答案 0 :(得分:1)
NEW是指所有行的数据还是只提交提交的数据?
是的(文档)是指正在更新的行的所有列。因此,您可以安全地使用NEW
关键字来处理任何列,而不仅仅是您实际更新过的列。
这是 SQLFiddle 演示。 虽然只更新了col2
,但所有其他列都可以访问。