2016-07-06 125 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。

相關問題