mysql 触发器实现两个表的数据同步
2012-11-15 00:00
627 查看
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中运行,成功!
目前,在本地测试成功。
假设本地的两个数据库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中运行,成功!
相关文章推荐
- mysql 触发器实现两个表的数据同步
- 【转】mysql 触发器实现两个表的数据同步
- php实现mysql两个数据库中表的数据同步
- MySQL创建触发器实现统一主机下两个数据库的表同步
- 用mysql的federated数据引擎和触发器实现跨服务器表数据同步
- 用mysql的federated数据引擎和触发器实现远程服务器表数据同步
- mysql通过触发器实现两个表的同步
- 触发器实现两个库之间数据同步
- MySQL触发器实现表数据同步
- sql server之触发器调用C#CLR存储过程实现两个表的数据同步
- redis作为mysql的缓存服务器(读写分离,通过mysql触发器实现数据同步)
- 在MySql上实现Replication(Master 与 Slave 数据同步) 一
- mysql主主同步两个数据库同时写入,实现原理:自动增长主键不重复
- 使用触发器实现两个数据库同步
- Keepalived+MySQL主主数据同步实现高可用(HA)
- shell实现自动备份mysql、整站数据的两个脚本分享
- 通过Gearman实现MySQL到Redis的数据同步
- 使用logstash-6.2.2和logstash-input-jdbc插件实现mysql数据同步到Elasticsearch
- 利用触发器实现数据同步
- 通过Gearman实现MySQL到Redis的数据同步