Mysql
 sql >> Base de données >  >> RDS >> Mysql

Surveiller la table MySQL pour les modifications dans un programme C# ?

Si l'application et le serveur de base de données se trouvent sur la même machine, vous pourrez peut-être configurer un déclencheur dans MySQL qui écrit dans un fichier journal APRÈS INSERT, METTRE À JOUR, puis créer un FileSystemWatcher pour regarder ce fichier journal. FileSystemWatcher se déclenchera événements lorsque le fichier est modifié auxquelles votre application peut réagir.

Le déclencheur pourrait ressembler à ceci :

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

Un problème que je vois avec le code ci-dessus est que le fichier de sortie ne peut pas être ajouté (le mieux que je puisse dire) donc vous pourriez avoir des problèmes s'il y a plusieurs requêtes exécutées en un seul appel (ou même plusieurs requêtes exécutées simultanément par différents clients). Toutes les suggestions d'amélioration sont les bienvenues.