递归触发器在单独的数据库中同步表

时间:2012-08-17 22:06:34

标签: mysql triggers

我正在尝试同步三个单独的数据库表。我的目标是在一个数据库中的任何表上进行任何更新,然后更新其他数据库。目的是三个独立的网站。 db1.table具有所有数据,db2.table和db3.table具有一定数量的数据,但所做的任何更改都需要保持同步,并且最接近实时。由于触发器很快,我基本上可以将任何SQL语句从一个表复制到另一个表,从而使所有内容保持同步。

现在我正以这种方式使用触发器:

db1.table - >触发更新以更新db2.table db2.table - >触发更新以更新db3.table

如果我只在db1上更新但是我尝试将它从bd3循环到db1并且我得到MySQL递归错误,那么这很有效:

“无法更新存储函数/触发器中的表,因为它已被调用此存储函数/触发器的语句使用。”

我的代码是这样写的,如果没有什么可以更新,那么它不会更新另一个表,所以它不会循环多次。

除触发器外是否有变通方法或其他方法?

1 个答案:

答案 0 :(得分:0)

是否有理由不能在其中一个数据库中引用一个主表并将数据集中在那里?

相关问题