我正在尝试同步三个单独的数据库表。我的目标是对一个数据库中的任何表进行任何更新,然后依次更新其他表。目的是针对三个不同的站点。db1.table 拥有所有数据,db2.table 和 db3.table 拥有一定数量的数据,但所做的任何更改都需要保持同步,最好接近实时。由于触发器很快,我基本上可以将任何 SQL 语句从一个表复制到另一个表,从而保持一切同步。
现在我正在以这种方式使用触发器:
db1.table -> 更新触发器以更新 db2.table db2.table -> 更新触发器以更新 db3.table
如果我只更新 db1 但我尝试将它从 bd3 循环到 db1 并且我得到 MySQL 递归错误,这将非常有用:
“无法更新存储函数/触发器中的表,因为它已被调用此存储函数/触发器的语句使用。”
我的代码是这样编写的,所以如果没有什么要更新的,那么它不会更新另一个表,所以它不会循环不止一次。
除了触发器之外,是否有解决方法或不同的方法?