sql >> Base de Datos >  >> RDS >> Mysql

¿Supervisar la tabla MySQL para detectar cambios dentro de un programa C#?

Si tanto la aplicación como el servidor de la base de datos están en la misma máquina, es posible que pueda configurar un disparador en MySQL que escribe en un archivo de registro DESPUÉS DE INSERTAR, ACTUALIZAR y luego crear un FileSystemWatcher para ver ese archivo de registro. FileSystemWatcher activará eventos cuando se cambia el archivo a los que su aplicación puede reaccionar.

El disparador podría verse así:

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 que veo con el código anterior es que el archivo de salida no se puede agregar (lo mejor que puedo decir), por lo que podría tener problemas si se ejecutan varias consultas en una llamada (o incluso varias consultas ejecutadas simultáneamente por diferentes clientes). Cualquier sugerencia de mejora es bienvenida.