MySQL触发器和Windows计划任务结合使用达到定时触发的效果

       最近做的一个手机售票项目中,需要删除未付款的订单,同时更新库存信息,这里我们使用到了MySQL的触发器。由于该项目中使用了订单表和订单明细表,因此我们首先需要在订单表中创建一个触发器,在删除订单表中信息的同时,删除订单明细表中的信息,该触发器如下所示:

USE `smc`;//切换到相应数据库
DELIMITER $$
CREATE DEFINER=`root`@`127.0.0.1` TRIGGER `orders_BDEL` BEFORE DELETE ON `orders` FOR EACH ROW//创建一个在删除前触发的触发器
begin
  delete from orderdetail
  where orderdetail.order_id = OLD.id;//OLD指的是被删除的记录,也就是这里的orders表
end

       删除订单明细表中信息的同时,我们需要更新库存信息,触发器如下:

USE `smc`;
DELIMITER $$
CREATE DEFINER=`root`@`127.0.0.1` TRIGGER `orderdetail_BDEL` BEFORE DELETE ON `orderdetail` FOR EACH ROW
begin
  update ticket set ticket.inventory=ticket.inventory+1//更新票的库存
  where ticket.id = OLD.ticket_id;
end

       经过这两个触发器,就可以完成删除订单的同

你可能感兴趣的:(windows,批处理文件,触发器,定时触发,MySQL)