zoukankan      html  css  js  c++  java
  • 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()成功

    人生得意须尽欢,莫使金樽空对月.
  • 相关阅读:
    守望先锋2中源氏皮肤变化
    博客园页面定制设置背景
    京剧中的“八句唱法”
    长歌行
    长相知-《上邪》-汉乐府
    Eclipse离线安装svn插件
    不安装Oracle客户端,用PLSQL连接Oracle
    常见数据库默认端口以及常用数据类型
    Python2.7 删除前N天日志文件
    Anaconda用conda创建python虚拟环境
  • 原文地址:https://www.cnblogs.com/luojie-/p/14388487.html
Copyright © 2011-2022 走看看