Maison  >  Article  >  base de données  >  Comment supprimer des données associées dans un déclencheur MySQL : un guide étape par étape

Comment supprimer des données associées dans un déclencheur MySQL : un guide étape par étape

Patricia Arquette
Patricia Arquetteoriginal
2024-11-03 05:02:30233parcourir

How to Delete Related Data in a MySQL Trigger: A Step-by-Step Guide

Déclencheur MySQL : suppression de données d'une table associée lors de la suppression

Lors de la gestion des tables de base de données, il est courant de rencontrer des scénarios où des modifications dans une La table doit être transmise en cascade à d'autres tables associées. Dans ce cas spécifique, la tâche à accomplir est de créer un déclencheur MySQL qui garantit que lors de la suppression d'un enregistrement de la table "patrons", les informations correspondantes associées à ce client dans la table "patron_info" sont également supprimées.

Mise en œuvre du déclencheur

Pour y parvenir, le déclencheur suivant peut être défini :

<code class="sql">CREATE TRIGGER log_patron_delete AFTER DELETE on patrons
FOR EACH ROW
BEGIN
  DELETE FROM patron_info
  WHERE patron_info.pid = old.id;
END</code>

Voici une répartition du déclencheur :

  • log_patron_delete : Le nom du déclencheur.
  • AFTER DELETE : Spécifie que le déclencheur doit être exécuté après une opération DELETE.
  • on patrons : Indique la table à laquelle le déclencheur est appliqué, qui est la table "patrons" dans ce cas.
  • FOR EACH ROW : Spécifie que le déclencheur doit être exécuté pour chaque ligne supprimée dans la table "patrons".
  • BEGIN : ​​marque le début du corps du déclencheur.
  • DELETE FROM patron_info... : L'instruction de suppression réelle qui supprime la ligne associée de la table "patron_info".
  • WHERE patron_info.pid = old.id : Ceci La condition garantit que la ligne spécifique à supprimer est identifiée en faisant correspondre la valeur de la colonne pid avec l'ID d'usager correspondant de la ligne supprimée dans la table "usagers".
  • FIN : marque la fin du corps du déclencheur.

Il est important de noter que la position correcte du point-virgule à la fin de l'instruction DELETE est cruciale pour que le déclencheur s'exécute correctement. De plus, lors de l'exécution du code de déclenchement dans une fenêtre de console, des délimiteurs doivent être utilisés pour éviter les erreurs de syntaxe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn