2016-07-06 36 views
0

我需要监视数据库A的特定表,每当发生A表的任何更改时,我需要知道这些更改是什么,比如说某行中某列的值从1更改为2,然后在另一个数据库B中做一些更改。除了可以在数据库A上完成查询外,其他限制都是没有限制的。因此,不能将触发器放在A上。该想法可能是保留A和把触发器放在A的副本上?不知道这是否可能。有关如何做到这一点的任何建议? 在此先感谢MySQL:在不使用触发器的情况下同步数据库

+0

这将**高度**特定于您正在使用的具体数据库。请添加一个标签来指定您是使用'mysql','postgresql','sql-server','oracle'还是'db2' - 或者其他的东西。 –

+0

使用MySQL。谢谢。 – brewphone

+0

A表格有多大? – Hogan

回答

0

你想使用复制你复制后做什么取决于你的用例的细节很多。

例如,如果您从serverA.tableA - > serverB.tableA复制,然后从serverB.tableA复制到serverB.tableAprime。复制后,下面的查询会给你以后的任何更改的列表

SELECT * FROM tableA 
EXCEPT 
SELECT * FROM tableAprime 

这可能是更简单,更实用然后使用触发器。

或者你可以在serverB.tableA上使用触发器,而不是使serverB.tableAprime。

相关问题