sql >> Databasteknik >  >> RDS >> Mysql

python:hur får man aviseringar om mysql-databasändringar?

Det är teoretiskt möjligt men jag skulle inte rekommendera det:

I huvudsak har du en trigger på bordet som anropar en UDF som kommunicerar med din Python-app på något sätt.

Fallgropar inkluderar vad som händer om det uppstår ett fel?

Tänk om det blockerar? Allt som händer inuti en trigger bör helst vara nästan omedelbart.

Vad händer om det är inuti en transaktion som återställs?

Jag är säker på att det finns många andra problem som jag inte har tänkt på lika bra.

Ett bättre sätt om möjligt är att låta ditt dataåtkomstlager meddela resten av din app. Om du letar efter när ett program utanför din kontroll ändrar databasen, kan du ha tur.

Ett annat sätt som är mindre idealiskt men imo bättre än att anropa ett annat program från en trigger är att ställa in någon slags "LastModified"-tabell som uppdateras av triggers med triggers. Kontrollera sedan i din app om den datetime är längre än när du senast kontrollerade.



  1. DSN-filer och IRI-programvara

  2. Fråga PostgreSQL med Npgsql och Entity Framework med unaccent

  3. Spara accenter i MySQL-databasen

  4. Hur man genererar Infoga uttalanden från Excel-data och laddar in i SQL Server-tabell - SQL Server / TSQL självstudie del 103