如何获取mysql中最后更新行的值?

时间:2016-02-26 10:26:16

标签: mysql

我想使用触发器将最后更新的行插入到新表中?如果该表中的任何列(值)已更新或更改,如何获取该行?

我正在使用此代码

CREATE  TRIGGER `database`.`tbl1_AFTER_UPDATE` 
AFTER UPDATE 
ON `tbl1` 
FOR EACH ROW
BEGIN
   INSERT INTO tbl2 (c1,c2,c3) 
   SELECT
   c1,c2,c3 from tbl1;
END 

但这是将tbl1中的所有行插入到tbl2中,我只希望将更新的行插入到tbl2中

1 个答案:

答案 0 :(得分:1)

在触发器主体中,OLD和NEW关键字使您可以访问受触发器影响的行中的列。 OLD和NEW是触发器的MySQL扩展;它们不区分大小写。Trigger

DELIMITER $$
CREATE  TRIGGER `database`.`tbl1_AFTER_UPDATE` 
AFTER UPDATE 
ON `tbl1` 
FOR EACH ROW
BEGIN
   INSERT INTO tbl2 (c1,c2,c3) VALUES (OLD.c1,OLD.c2,OLD.c3);  
END $$
DELIMITER ;