如何通过在myspl中使用触发器将我在一个表中更新的行插入到另一个表中?

时间:2016-05-31 08:36:19

标签: mysql

我正在学习创建一个触发器,可以将我在一个表中更新的行插入到另一个表中。

以下查询是我的创建触发器:

DELIMITER $$
CREATE TRIGGER update_edit_deliverycompany BEFORE UPDATE ON `deliverycompany`
FOR EACH ROW
BEGIN

   INSERT INTO `editor_log` (`edit_table`, `edit_field`, `editor`, `edit_time`)
   SELECT 'deliverycompany',`deliverycompany`.`CompanyID`,USER(),CURDATE() FROM `deliverycompany` ;

END$$
DELIMITER ;

触发触发器时,' deliverycompany'中的所有行插入' editor_log'而不仅仅是我更新的那一行。

如何选择我更新的行  如果使用在哪里我如何找到我更新的行(行中的任何值)

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

DELIMITER $$
CREATE TRIGGER update_edit_deliverycompany BEFORE UPDATE ON `deliverycompany`
FOR EACH ROW
BEGIN

   INSERT INTO `editor_log` (`edit_table`, `edit_field`, `editor`, `edit_time`) VALUES (OLD.deliverycompany, OLD.deliverycompany, USER(),CURDATE()) ;

END$$
DELIMITER ;