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

python:hvordan får man meddelelser om ændringer i mysql-databasen?

Det er teoretisk muligt, men jeg vil ikke anbefale det:

I bund og grund har du en trigger på bordet, som kalder en UDF, som på en eller anden måde kommunikerer med din Python-app.

Faldgruber omfatter, hvad der sker, hvis der er en fejl?

Hvad hvis det blokerer? Alt, hvad der sker inde i en trigger, bør ideelt set være næsten øjeblikkeligt.

Hvad hvis det er inde i en transaktion, der bliver rullet tilbage?

Jeg er sikker på, at der er mange andre problemer, som jeg ikke lige har tænkt på.

En bedre måde, hvis det er muligt, er at få dit dataadgangslag til at underrette resten af ​​din app. Hvis du leder efter, hvornår et program uden for din kontrol ændrer databasen, kan du være uheldig.

En anden måde, der er mindre ideel, men imo bedre end at kalde et andet program inde fra en trigger, er at indstille en slags "LastModified" tabel, der bliver opdateret af triggere med triggere. Så i din app skal du bare kontrollere, om datoen og klokkeslættet er længere, end da du sidst tjekkede det.



  1. Find en forælder på øverste niveau i SQL

  2. Har rækkefølgen af ​​kolonner i en WHERE-sætning betydning?

  3. PL/SQL-program til at slette posterne fra tabellen

  4. Sådan opretter du en database i MySQL