Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Überwachen Sie die MySQL-Tabelle auf Änderungen innerhalb eines C#-Programms?

Wenn sich sowohl der Anwendungs- als auch der Datenbankserver auf demselben Computer befinden, können Sie möglicherweise einen Trigger in MySQL einrichten, der NACH EINFÜGEN, UPDATE in eine Protokolldatei schreibt und dann ein FileSystemWatcher um diese Protokolldatei zu sehen. FileSystemWatcher wird feuern Ereignisse, wenn die Datei geändert wird auf die Ihre Anwendung reagieren kann.

Der Trigger könnte etwa so aussehen:

create trigger MyTable_Monitor
after insert, update on MyTable
for each row
begin
select * from new into outfile "path/to/table.log"
end

Ein Problem, das ich mit dem obigen Code sehe, ist, dass das Outfile nicht angehängt werden kann (soweit ich das beurteilen kann), sodass Sie möglicherweise Probleme haben, wenn mehrere Abfragen in einem Aufruf ausgeführt werden (oder sogar mehrere Abfragen gleichzeitig von verschiedenen Clients ausgeführt werden). Verbesserungsvorschläge sind willkommen.