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

Monitoruj wstawki MySQL z różnych aplikacji

Myślę, że możesz osiągnąć coś takiego dość łatwo, zakładając, że nie masz nic przeciwko tworzeniu dodatkowych tabel i wyzwalaczy w swojej bazie danych, oraz że monitorująca aplikacja Java będzie musiała odpytywać bazę danych, a nie specjalnie otrzymywać wyzwalacze.

Zakładając, że tabela, którą chcesz monitorować, wygląda mniej więcej tak:

CREATE TABLE ToMonitor ( id INTEGER PRIMARY KEY, value TEXT );

Następnie tworzysz tabelę do śledzenia zmian i wyzwalacz, który wypełnia tę tabelę:

CREATE TABLE InsertedRecords( value TEXT );
CREATE TRIGGER trig AFTER INSERT ON account
FOR EACH ROW INSERT INTO InsertedRecords( value ) VALUES ( NEW.value );

Spowoduje to, że tabela InsertedRecords zostanie wypełniona każdym wstawieniem, które ma miejsce w ToMonitor.

Następnie wystarczy skonfigurować aplikację monitorującą, aby okresowo SELECT * from InsertedRecords , podejmij odpowiednie działanie, a następnie usuń rekordy z InsertedRecords

EDYCJA:Niewielką alternatywą, jeśli nie masz nic przeciwko kodowaniu C/C++, byłoby postępuj zgodnie z instrukcjami tutaj aby utworzyć niestandardową funkcję SQL, która uruchomiła Twoją aplikację monitorującą, a następnie po prostu wywołaj tę funkcję SQL z utworzonego wyzwalacza.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grupuj MySQL według daty i konwertuj z uniksowego znacznika czasu

  2. Laravel nie może usunąć ani zaktualizować wiersza nadrzędnego:ograniczenie klucza obcego nie powiodło się

  3. Wielojęzyczne pola w tabelach DB

  4. Czy złącze MySQL/JDBC jest bezpieczne?

  5. Kod błędu 1292 - Obcięta niepoprawna PODWÓJNA wartość - Mysql