示例如下:(说明:只修改当前行的某个值,而不是全部修改)
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