从另一个表插入值后触发

时间:2014-07-02 04:49:01

标签: c# mysql triggers

我有两个表Employee和Employee Log,我在插入后创建了一个触发器,我的插入触发器没有问题,使用来自employee的实体或值,直接插入到Log表中,但是如何从另一个表中插入值表?喜欢Admin_ID。我想要一个包含事务,日期时间和创建者的日志表。

谢谢。

  CREATE TRIGGER emp_log_af AFTER INSERT ON emp

  FOR EACH ROW

   BEGIN

     INSERT INTO emp_log (action,id,ts, ad_id)

     VALUES('create',NEW.id,NOW());

   END;  

1 个答案:

答案 0 :(得分:1)

它不可能触发我所做的是获取max(id)来做我创建的存储过程。

 DELIMITER $$

 CREATE PROCEDURE sp_insert_user_log
 (
    IN ia Varchar(12), 
    IN ie INT, 
    IN ix datetime  
 )

  BEGIN
   DECLARE id INT DEFAULT 0;
      SELECT MAX(user_id) INTO id FROM user ORDER BY user_id DESC LIMIT 1;
   BEGIN 
        INSERT INTO `user_log`(`action`, `user_id`, `employee_id`, `ts`) VALUES (ia, id, ie, ix);       
    END; 

   END$$


   DELIMITER ;

   DELIMITER $$