我正在学习创建一个触发器,可以将我在一个表中更新的行插入到另一个表中。
以下查询是我的创建触发器:
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'而不仅仅是我更新的那一行。
如何选择我更新的行 如果使用在哪里我如何找到我更新的行(行中的任何值)
答案 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 ;