Dans MySQL, il n'est pas possible de créer un seul déclencheur qui se déclenche à la fois pour les événements d'insertion et de mise à jour sur une table. Par conséquent, vous devrez créer deux déclencheurs distincts, un pour chaque événement.
Cependant, si le code du déclencheur est le même pour les événements d'insertion et de mise à jour, vous pouvez déplacer le code commun dans une procédure stockée et demandez aux déclencheurs d'appeler la procédure à la place. Cette approche vous permet d'éviter de répéter le même code dans plusieurs déclencheurs.
Voici un exemple de la façon dont vous pouvez procéder :
Créez la procédure stockée :
CREATE PROCEDURE common_trigger_code() BEGIN -- Insert or update some data... END //
Créer l'encart trigger :
CREATE TRIGGER insert_trigger AFTER INSERT ON `table` FOR EACH ROW CALL common_trigger_code();
Créer le déclencheur de mise à jour :
CREATE TRIGGER update_trigger AFTER UPDATE ON `table` FOR EACH ROW CALL common_trigger_code();
Cette solution garantit que le code commun n'est écrit qu'une seule fois et peut être facilement mis à jour dans le futur.
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!