MySQL创建触发器实现统一主机下两个数据库的表同步
来源:互联网 发布:用c语言编写三角形 编辑:程序博客网 时间:2024/06/05 03:15
首先建立要用于测试 数据库 与 表create database a;create database b;use acreate table table1(id int, val int);use bcreate table table2(id int, val int);建触发器use aDELIMITER //CREATE TRIGGER tr_Insert_t1 AFTER INSERT ON table1FOR EACH ROWBEGIN -- 检查前 环境避免递归. IF @disable_trigger IS NULL THEN -- 设置禁用触发器标志. SET @disable_trigger = 1; -- 插入目标表 INSERT INTO b.table2 VALUES (new.id, new.val); -- 恢复禁用触发器标志. SET @disable_trigger = NULL; END IF;END;//DELIMITER ;use bDELIMITER //CREATE TRIGGER tr_Insert_t2 AFTER INSERT ON table2FOR EACH ROWBEGIN -- 检查前 环境避免递归. IF @disable_trigger IS NULL THEN -- 设置禁用触发器标志. SET @disable_trigger = 1; -- 插入目标表 INSERT INTO a.table1 VALUES (new.id, new.val); -- 恢复禁用触发器标志. SET @disable_trigger = NULL; END IF;END;//DELIMITER ;测试执行效:mysql> use bDatabase changedmysql> insert into table2 values(2,2);Query OK, 1 row affected (0.01 sec)mysql> use aDatabase changedmysql> insert into table1 values (1, 1);Query OK, 1 row affected (0.00 sec)mysql> select * from table1;+------+------+| id | val |+------+------+| 2 | 2 || 1 | 1 |+------+------+2 rows in set (0.00 sec)mysql> select * from b.table2;+------+------+| id | val |+------+------+| 2 | 2 || 1 | 1 |+------+------+2 rows in set (0.00 sec)
delete 和 update的话 , 就是 上面的触发器 定义的地方, 要修改触发器名字要修改触发器里面的 语句要修改.比如 delete 的触发器里面, 要 delete 另外一个表update的触发器里面, 要 update 另外一个表至于那个标志 @disable_trigger 注意事项就是, 不要在别的地方手动的执行SET @disable_trigger = 1;否则 所有的触发器,都要失效了。
原文地址:http://zhidao.baidu.com/link?url=e0CwvF_BShuLu_uSJ7VktwOOSYRxASOVu0fy0B6CYJCp6Ra9as_opFG-zlW0nBLXPoCg7zj_uLRHgrw0vqktwq
0 0
- MySQL创建触发器实现统一主机下两个数据库的表同步
- mysql通过触发器实现两个表的同步
- 触发器实现同步两个数据库
- 如何利用触发器实现两个数据库间的同步
- 使用触发器实现两个数据库同步
- 实现两个Mysql数据库同步
- 实现两个Mysql数据库同步
- 实现两个mysql数据库同步
- MySQL 触发器实现表同步
- 实现两个Mysql数据库之间的主从同步
- 实现两个Mysql数据库之间的主从同步
- 实现两个Mysql数据库之间的主从同步
- 实现两个Mysql数据库之间同步的方案
- 实现两个数据库的同步***
- 通过触发器实现数据库的即时同步
- 通过触发器实现数据库的即时同步
- 通过触发器实现数据库的即时同步
- 通过触发器实现数据库的即时同步
- idea maven package java.lang.OutOfMemoryError 问题解决
- POJ-1988Cube Stacking/HDU-2818Building Block;
- 设计模式02_模板方法模式
- WebApplication初始化
- 使用Nginx+Lua(OpenResty)开发高性能Web应用
- MySQL创建触发器实现统一主机下两个数据库的表同步
- github上总结的python资源列表
- Eclipse-----Debug Maven依赖Jar包找不到源码
- 读书摘要——第三章
- C#实例复制和深度复制的实现
- 获取 刚才插入行的 id
- STM32F4_USART配置及细节描述
- linux内核版本来源&Android、linux代码在线查看
- slf4J+logback日志多文件输出