sql >> Databasteknik >  >> RDS >> Mysql

Övervaka MySQL-tabellen för ändringar inom ett C#-program?

Om både applikationen och databasservern finns på samma maskin kanske du kan ställa in en trigger i MySQL som skriver ut till en loggfil EFTER INFOGA, UPPDATERA och sedan skapa en FileSystemWatcher för att titta på loggfilen. FileSystemWatcher kommer att avfyras händelser när filen ändras som din ansökan kan reagera på.

Utlösaren kan se ut ungefär så här:

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

Ett problem jag ser med ovanstående kod är att outfilen inte kan läggas till (bäst jag kan säga) så du kan ha problem om det finns flera frågor som körs i ett anrop (eller till och med flera frågor som körs samtidigt av olika klienter). Alla förslag på förbättringar är välkomna.



  1. Problem med MySQL standardvärde

  2. PHP Hur returnerar man datetime(6) från Mysql?

  3. Förstå MySQL:s nya värmebölja

  4. Hur kan jag optimera MySQL:s ORDER BY RAND() funktion?