Mysql
 sql >> Baza danych >  >> RDS >> Mysql

python:jak otrzymywać powiadomienia o zmianach w bazie mysql?

Jest to teoretycznie możliwe, ale nie polecam:

Zasadniczo masz wyzwalacz na tabeli, który wywołuje UDF, który w jakiś sposób komunikuje się z Twoją aplikacją Pythona.

Pułapki obejmują, co się stanie, jeśli wystąpi błąd?

A jeśli to się zablokuje? Wszystko, co dzieje się wewnątrz wyzwalacza, powinno być niemal natychmiastowe.

Co się stanie, jeśli znajduje się w transakcji, która zostanie wycofana?

Jestem pewien, że jest wiele innych problemów, o których również nie pomyślałem.

Lepszym sposobem, jeśli to możliwe, jest powiadomienie przez warstwę dostępu do danych reszty aplikacji. Jeśli szukasz sytuacji, w której program poza twoją kontrolą modyfikuje bazę danych, możesz nie mieć szczęścia.

Innym sposobem, który jest mniej idealny, ale imo lepszy niż wywoływanie innego programu z wyzwalacza, jest ustawienie jakiejś tabeli „LastModified”, która jest aktualizowana przez wyzwalacze z wyzwalaczami. Następnie w swojej aplikacji sprawdź, czy ta data i godzina jest większa niż ta, w której ostatnio sprawdzałeś.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać wszystko przed/po określonym znaku w MySQL — SUBSTRING_INDEX()

  2. Błąd składni PHP PDO lub naruszenie dostępu:1064 przy wstawianiu

  3. Łącznik MySQL 6.7.4 i wyjątki Entity Framework 5

  4. Jak stworzyć bloga w bazie PHP i MySQL - Admin Posts

  5. Przewodnik po projektowaniu bazy danych dla systemu zarządzania zapasami w MySQL