MYSQL怎么实现跨库触发器

MYSQL怎么实现跨库触发器,第1张

CREATE TRIGGER t_afterinsert_on_tab1

AFTER INSERT ON tab1

FOR EACH ROW

BEGIN

insert into <span style="color: #FF0000">db2</span>.tab2(tab2_id) values(new.tab1_id)

END

若想利用此方法达到反向同步则可能出现问题,比如想在parkfee数据库有新数据插入时让当前数据库也同时插入一条记录,建立一个触发器,则形成了一个循环触发,当插入数据时会报大于最大递归次数错。因此因避免这样的触发循环,若要达到类似效果还须想别的方法。(待续)

补充:

若两个库处于不同的数据库服务器则应先进行以下 *** 作:

在 server1 上创建连接服务器,以便在 server1 中 *** 作 server2,实现同步

exec sp_addlinkedserver 'server2','','SQLOLEDB','server2的数据库实例名或ip'

exec sp_addlinkedsrvlogin 'server2','false',null,'用户名','密码'

go

1 直接的话,试试federated能不能满足。

在1服务器上开启federated引擎支持,创建一个federated引擎表bb2表connection到2服务器的b表

在aa的触发器中更新bb2表。

不过federated有较多的限制,也缺乏错误检测,整个过程的实现需要考虑周全。

2 间接的话,只能把aa表数据同步过去,在2服务器中使用修改后的aa触发器更新bb表。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9805343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存