Mysql定义DELETE操作触发器,将删除数据存入历史表

Mysql定义DELETE操作触发器,将删除数据存入历史表

SQL如下:

// An highlighted block

DELIMITER $$
CREATE TRIGGER <触发器名称>  BEFORE DELETE ON <表名> FOR EACH ROW
BEGIN
	<INSERT INTO <表名>  VALUES() >
END;
$$

1.定义删除触发器

DELIMITER $$
CREATE TRIGGER s_activity_delete  BEFORE DELETE ON `seckill_activity` FOR EACH ROW 
BEGIN
	INSERT INTO seckill_activity_history (s_id,participation_count, start_time,end_time,time_limit,participate_activities,m_id,create_time,activity_name,activity_state,`ACTION`,`stime`)
VALUES
	(OLD.s_id, OLD.participation_count, OLD.start_time, OLD.end_time,OLD.time_limit,OLD.participate_activities,OLD.m_id,OLD.create_time,OLD.activity_name,OLD.activity_state,DELETE,NOW());
END;
$$
  1. 查询所有触发器
// An highlighted block
	SHOW TRIGGERS;
  1. 删除SQL测试触发器是否可用
// An highlighted block
DELETE FROM `seckill_activity` WHERE s_id=#{
          
   }
  1. 删除成功,并将删除的数据插入history表
经验分享 程序员 微信小程序 职场和发展