2016-07-06 3 views
0

Ich muss bestimmte Tabellen der Datenbank A überwachen, wenn Änderungen an den Tabellen von A passiert, muss ich wissen, was die Änderungen sind, sagen Sie den Wert einer Spalte in einer Zeile wurde von 1 auf 2 geändert und dann einige Änderungen in einer anderen Datenbank B durchgeführt. Die Einschränkung ist nichts außer der Abfrage kann auf Datenbank A erfolgen. Also kann kein Trigger auf A gesetzt werden. Die Idee könnte sein, eine Replikation von A und Trigger auf die Kopie von A setzen? Ich bin mir nicht sicher, ob das möglich ist. Irgendwelche Vorschläge, wie das gemacht werden kann? Vielen Dank im VorausMySQL: Synchronisieren Sie einen DB ohne Trigger verwenden

+0

Dies ist sehr spezifisch für die konkrete Datenbank, die Sie verwenden. Bitte fügen Sie ein Tag hinzu, um anzugeben, ob Sie 'mysql',' postgresql', 'sql-server',' oracle' oder 'db2' verwenden - oder etwas ganz anderes. –

+0

Verwenden von MySQL. Vielen Dank. – brewphone

+0

Wie groß ist der Tisch auf A? – Hogan

Antwort

0

Sie möchten die Replikation verwenden, was Sie nach der Replikation tun, hängt sehr von den Details Ihres Anwendungsfalls ab.

Zum Beispiel, wenn Sie von serverA.tableA -> serverB.tableA replizieren und dann von serverB.tableA nach serverB.tableAprime kopieren. unter Verwendung eines Trigger nach dem Kopieren wird die folgende Abfrage geben Sie eine Liste von allen nachfolgenden Änderungen

SELECT * FROM tableA 
EXCEPT 
SELECT * FROM tableAprime 

Dies könnte dann einfacher und nützlicher sein.

Oder Sie könnten einen Trigger auf serverB.tableA verwenden und nicht serverB.tableAprime machen.

Verwandte Themen