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

Konfigurowanie wyzwalaczy MySQL

Wyzwalacze umożliwiają wykonanie funkcji w bazie danych, gdy zajdą pewne zdarzenia (np. wstawienie do tabeli).

Nie mogę komentować konkretnie mysql.

Uwaga:wyzwalacze mogą być bardzo kuszące, kiedy zaczynasz ich używać, wydają się być magicznym pociskiem na wszelkiego rodzaju problemy. Ale sprawiają, że dzieją się „magiczne” rzeczy, jeśli nie znasz bazy danych na wylot, może się wydawać, że dzieją się naprawdę dziwne rzeczy (takie jak wstawianie do innych tabel, zmiana danych wejściowych itp.). Przed zaimplementowaniem rzeczy jako wyzwalacza poważnie rozważyłbym zamiast tego wymuszenie użycia API wokół schematu (najlepiej w bazie danych, ale na zewnątrz, jeśli nie możesz).

Niektóre rzeczy, do których nadal używałbym wyzwalaczy

  • Śledzenie pól „date_created” i „date_last_edited”
  • Wstawianie „ID” (w Oracle, gdzie nie ma pola automatycznego identyfikatora)
  • Prowadzenie historii zmian

Rzeczy, do których nie chcesz używać wyzwalaczy

  • zasady biznesowe/logika
  • wszystko, co łączy się poza bazą danych (np. wywołanie usługi internetowej)
  • Kontrola dostępu
  • Wszystko, co nie jest transakcyjne (wszystko, co robisz w wyzwalaczu, MUSI być w stanie wycofać się wraz z transakcją)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kod wyjątku impasu dla PHP, MySQL PDOException?

  2. Jak rozwiązać błąd max_user_connections MySQL

  3. Jak wstawić wiele wartości pól wyboru do tabeli?

  4. Konwertuj znacznik czasu na czytelną datę podczas zapytania

  5. TABELA UPUSZCZANIA Wstrzykiwań SQL nie działa