mysql触发器只修改当前行的值,不要整张表都改?

示例如下:(说明:只修改当前行的某个值,而不是全部修改)

drop trigger if exists t_afterupdate_on_ot_user;
	CREATE TRIGGER t_afterupdate_on_ot_user
	AFTER UPDATE ON ot_user
	FOR EACH ROW
	begin
	INSERT INTO ot_user_jk
		( UE_ID,old_UE_account,UE_account, old_UE_phone,UE_phone)
		SELECT OLD.UE_ID, OLD.UE_account , NEW.UE_account ,OLD.UE_phone,NEW.UE_phone FROM dual
		WHERE NOT EXISTS(
		      SELECT *
		      FROM ot_user_jk
		      WHERE UE_ID = OLD.UE_ID
		);
		if OLD.UE_account<>NEW.UE_account then 
		update ot_user_jk set old_UE_account=OLD.UE_account,UE_account=NEW.UE_account where UE_ID = OLD.UE_ID;
		end if;

		if OLD.UE_phone<>NEW.UE_phone then 
		update ot_user_jk set old_UE_phone=OLD.UE_phone,UE_phone=NEW.UE_phone where UE_ID = OLD.UE_ID;
		end if;

	end;


create TRIGGER trig before update on table_name for each row
begin
if NEW.id>0 then
 
set NEW.a=NEW.b+NEW.c;
 
end if ;
 
end ;


参考链接:https://zhidao.baidu.com/question/562140490.html?fr=iks&word=mysql%B4%A5%B7%A2%C6%F7%D6%BB%D0%DE%B8%C4%B5%B1%C7%B0%D0%D0%B5%C4%D6%B5%2C%B2%BB%D2%AA%D5%FB%D5%C5%B1%ED%B6%BC%B8%C4%3F&ie=gbk
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值