sql server用触发器取另外一台电脑的mysql数据_mysql – 如何创建触发器以将数据插入另一台服务器上的数据库...

为了能够继续执行此操作,必须首先确保两台服务器具有相同的配置.为了完成您想要做的事情,可以在两个服务器上使用FEDERATED

storage engine,与触发器一起使用,以允许每个服务器更新其他服务器的数据库.

您需要创建联合到另一台服务器上的用户表的本地表.所以,如果一条记录已经存在于另一台服务器上,但不存在于此处,我们希望其他服务器上的插入引发一个错误,阻止我们在这里创建记录…而不是在这里创建一个记录相互矛盾的ID;

CREATE TABLE remote_user (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) NOT NULL,

`age` smallint(6) NOT NULL,

PRIMARY KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

CONNECTION='mysql://username:pass@the_other_host:port/schema/user';

然后你可以创建你的触发器;

DELIMITER $$

CREATE TRIGGER user_bi BEFORE INSERT ON user FOR EACH ROW

BEGIN

INSERT INTO remote_user (ID,name, age) VALUES (NEW.ID,NEW.name, NEW.Age);

END $$

CREATE TRIGGER user_bu BEFORE UPDATE ON user FOR EACH ROW

BEGIN

UPDATE remote_user

SET ID= NEW.ID,

name= NEW.name

age = NEW.Age

WHERE ID = OLD.ID;

END $$

CREATE TRIGGER user_bd BEFORE DELETE ON user FOR EACH ROW

BEGIN

DELETE FROM remote_user

WHERE ID= OLD.ID;

END $$

DELIMITER ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值