Supposons que si une erreur se produit lors de l'exécution du déclencheur, MySQL peut la gérer comme suit -
- Si le déclencheur BEFORE échoue, la ligne correspondante ne sera pas exécutée.
- Le déclencheur AVANT est activé lorsqu'une tentative d'insertion ou de modification d'une ligne est effectuée, que les tentatives ultérieures réussissent ou non.
- N'exécutez les déclencheurs APRÈS que si les déclencheurs et les opérations de ligne AVANT s'exécutent avec succès.
- Les erreurs lors d'un déclencheur AVANT ou APRÈS entraînent l'échec de l'intégralité de l'instruction provoquant l'appel du déclencheur.
- Pour les tables transactionnelles, l'échec d'une instruction devrait entraîner l'annulation de toutes les modifications effectuées par cette instruction. Un déclencheur ayant échoué entraîne l'échec de l'instruction, donc un déclencheur ayant échoué entraîne également une restauration. Pour les tables non transactionnelles, une telle restauration ne peut pas être effectuée. Ainsi, même si l'instruction échoue, toutes les modifications effectuées avant le point d'erreur sont toujours valides.
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!