Mysql
 sql >> Database >  >> RDS >> Mysql

Monitorare la tabella MySQL per le modifiche all'interno di un programma C#?

Se sia l'applicazione che il server del database si trovano sulla stessa macchina, potresti essere in grado di impostare un trigger in MySQL che scrive in un file di registro DOPO INSERT, UPDATE e quindi crea un FileSystemWatcher per guardare quel file di registro. FileSystemWatcher si attiva eventi quando il file viene modificato a cui la tua applicazione può reagire.

Il trigger potrebbe assomigliare a questo:

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

Un problema che vedo con il codice sopra è che l'outfile non può essere aggiunto (meglio che posso dire), quindi potresti avere problemi se ci sono più query eseguite in una chiamata (o anche più query eseguite contemporaneamente da client diversi). Qualsiasi suggerimento di miglioramento è il benvenuto.