当A表内rzemial字段里的数据更新变化时,怎样使B表内rzemial字段下的数据同步更新.A表userid字段与B表中的ruserid字段数据一一对应.

解决方案 »

  1.   

    参考一下MYSQL官方手册中的触发器例子,用触发器实现即可。
      

  2.   


    --
    -- 触发器 ddgl_ddxx
    --
    DROP TRIGGER IF EXISTS t_afterupdate_on_table_a;
    DELIMITER //
    CREATE TRIGGER t_afterupdate_on_table_a AFTER UPDATE ON table_a
     FOR EACH ROW begin
     select rzemail into @oldMail from table_b  where  ruserid =new.userid ; 
     IF(new.rzemail !=@oldMail) THEN
      update  table_b set rzemail =new.rzemail   where   ruserid =new.userid ; 
     END IF;  
      END
    //
    DELIMITER ;
    试试看吧,建议还是好好看一下MYSQL 触发器相关知识,对你有帮助!学习和编程不能一味的复制黏贴代码,要学会“模仿”别人的实现思路,之后再转换成自己的,不然下次遇见类似的问题,也不知道该如何去做.......
      

  3.   


    --
    -- 触发器 ddgl_ddxx
    --
    DROP TRIGGER IF EXISTS t_afterupdate_on_table_a;
    DELIMITER //
    CREATE TRIGGER t_afterupdate_on_table_a AFTER UPDATE ON table_a
     FOR EACH ROW begin
     select rzemail into @oldMail from table_b  where  ruserid =new.userid ; 
     IF(new.rzemail !=@oldMail) THEN
      update  table_b set rzemail =new.rzemail   where   ruserid =new.userid ; 
     END IF;  
      END
    //
    DELIMITER ;
    Quote: 引用 9 楼 JenMinZhang 的回复:

    这段代码是在下图中的SQL筐中执行吗?看了很多例子还是没搞明白,网上说触发器是在“命令提示符”下创建的,但是我找不到在哪创建.