sql >> Database >  >> RDS >> Mysql

python:hoe ontvang ik meldingen voor wijzigingen in de mysql-database?

Het is theoretisch mogelijk, maar ik zou het niet aanraden:

In wezen heb je een trigger op de tafel die een UDF aanroept die op de een of andere manier met je Python-app communiceert.

Valkuilen zijn onder meer wat er gebeurt als er een fout is?

Wat als het blokkeert? Alles wat binnen een trigger gebeurt, zou idealiter bijna onmiddellijk moeten zijn.

Wat als het in een transactie zit die wordt teruggedraaid?

Ik weet zeker dat er nog veel andere problemen zijn waar ik nog niet aan heb gedacht.

Een betere manier, indien mogelijk, is om uw gegevenstoegangslaag de rest van uw app op de hoogte te stellen. Als je zoekt naar wanneer een programma buiten je controle de database aanpast, dan heb je misschien pech.

Een andere manier die minder ideaal is, maar beter is dan het aanroepen van een ander programma vanuit een trigger, is door een soort "LastModified"-tabel in te stellen die wordt bijgewerkt door triggers met triggers. Controleer vervolgens in uw app of die datetime groter is dan toen u voor het laatst controleerde.



  1. SQL Server Error 7222:"Alleen een SQL Server-provider is toegestaan ​​op dit exemplaar"

  2. Mysql:Trim alle velden in de database

  3. Aankondiging van repmgr 2.0

  4. MySQL voorwaardelijke ORDER BY ASC/DESC voor datumkolom