>  기사  >  데이터 베이스  >  mysql通过触发器实现两个表的同步_MySQL

mysql通过触发器实现两个表的同步_MySQL

WBOY
WBOY원래의
2016-06-01 13:38:381088검색

bitsCN.com


mysql通过触发器实现两个表的同步

 

目前,在本地测试成功。

假设本地的两个数据库a和b,a下有表table1(id, val) b下有表table2(id, val)

假设希望当table1中数据更新,table2中数据同步更新。

代码:

 

DELIMITER $$  

CREATE

    /*[DEFINER = { user | CURRENT_USER }]*/

    TRIGGER `a`.`触发器名` BEFORE UPDATE

    ON `a`.`table1`

    FOR EACH ROW BEGIN

IF new.id!=old.id THEN   

UPDATE `b`.`table2` SET `b`.`table2`.id=new.id WHERE `b`.`table2`.val=old.val;   

END IF; 

    END$$

DELIMITER ;

 

网上找了很多代码,在phpadmin中运行都不成功,总是语法错误,phpmyadmin也不能可视化建立触发器,所以找了另一个mysql管理工具,SQLyog。这个工具比较好,java写的,可以通过界面创建触发器,然后再把代码拷到phpmyadmin中运行,成功!

 

SQLyog下载地址:

 

http://www.webyog.com/en/downloads.php#sqlyog

 

bitsCN.com
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.