Mysql
 sql >> Base de données >  >> RDS >> Mysql

Configuration des déclencheurs MySQL

Les déclencheurs vous permettent d'exécuter une fonction dans la base de données lorsque certains événements se produisent (par exemple, une insertion dans une table).

Je ne peux pas commenter spécifiquement mysql.

Précaution :Les déclencheurs peuvent être très séduisants, lorsque vous commencez à les utiliser, ils semblent être une solution miracle à toutes sortes de problèmes. Mais, ils font des choses "magiques", si vous ne connaissez pas la base de données à fond, il peut sembler que des choses vraiment étranges se produisent (comme des insertions dans d'autres tables, des changements de données d'entrée, etc.). Avant d'implémenter des éléments en tant que déclencheur, j'envisagerais sérieusement d'imposer l'utilisation d'une API autour du schéma (de préférence dans la base de données, mais à l'extérieur si vous ne le pouvez pas).

Certaines choses pour lesquelles j'utiliserais encore des déclencheurs

  • Suivi des champs "date_created" et "date_last_edited"
  • Insérer des "ID" (dans oracle, où il n'y a pas de champ d'identification automatique)
  • Conserver l'historique des modifications

Choses pour lesquelles vous ne voudriez pas utiliser de déclencheurs

  • règles/logique métier
  • tout ce qui se connecte en dehors de la base de données (par exemple, un appel de service Web)
  • Contrôle d'accès
  • Tout ce qui n'est pas transactionnel (tout ce que vous faites dans le déclencheur DOIT pouvoir être annulé avec la transaction)