概述
为了能够继续执行此操作,必须首先确保两台服务器具有相同的配置.为了完成您想要做的事情,可以在两个服务器上使用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 ;
最后
以上就是腼腆手套为你收集整理的sql server用触发器取另外一台电脑的mysql数据_mysql – 如何创建触发器以将数据插入另一台服务器上的数据库...的全部内容,希望文章能够帮你解决sql server用触发器取另外一台电脑的mysql数据_mysql – 如何创建触发器以将数据插入另一台服务器上的数据库...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复