• MySql双向触发器


    //增加
    delimiter // 
    create trigger InsertDemo
    AFTER insert on vaccine.demo
    for each row 
    Begin
    if not exists (select * from wechat.demo where wechat.demo.id = new.id) then
    INSERT INTO wechat.demo(wechat.demo.`name`,wechat.demo.`password`) VALUES(new.name,new.password);
    end if; 
    end;//
    delimiter ;
    
    
    delimiter // 
    create trigger InsertDemo
    AFTER insert on wechat.demo
    for each row 
    Begin
    if not exists (select * from vaccine.demo where vaccine.demo.id = new.id) then
    INSERT INTO vaccine.demo(vaccine.demo.`name`,vaccine.demo.`password`) VALUES(new.name,new.password);
    end if; 
    end;//
    delimiter ;
    
     
    
    //删除
    CREATE TRIGGER de
    After DELETE ON vaccine.demo
    FOR EACH ROW
    BEGIN
    if exists (select * from wechat.demo where wechat.demo.id = old.id) then
    DELETE FROM wechat.demo WHERE wechat.demo.id= OLD.id;
    end if;
    END;
    
     
    
    CREATE TRIGGER de
    After DELETE ON wechat.demo 
    FOR EACH ROW
    BEGIN
    if exists (select * from vaccine.demo where vaccine.demo.id = old.id) then
    DELETE FROM vaccine.demo WHERE vaccine.demo.id = OLD.id;
    end if;
    END;
    
    //修改
    
    CREATE TRIGGER up
    After UPDATE ON vaccine.demo
    FOR EACH ROW
    BEGIN
    if not exists (select * from wechat.demo where wechat.demo.id = old.id and wechat.demo.`name`=new.name and wechat.demo.`password`=new.password) then
    update wechat.demo set wechat.demo.`name`=new.name ,wechat.demo.`password`=new.password where wechat.demo.id =old.id;
    end if;
    END;
    
     
    
    CREATE TRIGGER up
    After UPDATE ON wechat.demo 
    FOR EACH ROW
    BEGIN
    if not exists (select * from vaccine.demo where vaccine.demo.id = new.id and vaccine.demo.`name`=new.name and vaccine.demo.`password`=new.password) then
    update vaccine.demo set vaccine.demo.`name`=new.name ,vaccine.demo.`password`=new.password where vaccine.demo.id =old.id;
    end if;
    END;

     注意:设置触发器后save()更新数据会报错,update()成功

    人生得意须尽欢,莫使金樽空对月.
  • 相关阅读:
    异步I/O
    path路径操作
    Buffer类
    ES6常用语法
    GitHub上的基本功能与概念
    git的基本命令
    HTML中的表单
    PyCharm的安装以及破解
    HTML中的表格
    HTML中的列表
  • 原文地址:https://www.cnblogs.com/luojie-/p/14388487.html
Copyright © 2020-2023  润新知