mysql insert与update触发器

前言

背景

最近需要在数据库某一张表发生变更(新增或者更新时)更改其他字段状态,又不想修改重新发布,考虑一个临时使用一段时间的方案,只能从底层的数据库想想办法。想来想去只有用触发器(trigger)了,虽然会影响一点效率,不过好在只牵涉一张表,而且表数据操作频率不高,而且只用撑过一段时间就可以下掉。
该表有十几个字段,其中主键为自增ID,int型,假设表名为user_info,需要修改的字段为is_available、is_delete。

目标

需要触发器做到的的是在对目标表进行插入insert、更新update操作时,对该表内新增或者修改的记录的几个字段值进行改变。

JUST DO IT

第一次尝试

在每次进行insert、update后,关联更新相关记录字段就可以了。

0.1版本
DELIMITER $

DROP TRIGGER IF EXISTS t_afterinsert_on_patient;
CREATE TRIGGER t_beforeupdate_on_ user_info 
BEFORE UPDATE ON user_info
FOR EACH ROW
BEGIN
     SET NEW.is_available = 'Y', NEW.is_delete='N';
END$
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值