Déclencheurs MySQL : suppression d'une table après suppression d'une autre
Problème :
Vous souhaitez créer un déclencheur qui supprime automatiquement les lignes du tableau 2 (patron_info) chaque fois qu'une ligne est supprimée du tableau 1 (usagers). Cependant, vous rencontrez une erreur de syntaxe lors de la création du déclencheur.
Solution :
L'erreur est probablement causée par une syntaxe incorrecte dans l'instruction DELETE du déclencheur. . Plus précisément, vous devez utiliser old.id au lieu de patrons.id pour faire référence à l'ID de la ligne supprimée, selon le déclencheur suivant :
<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>
Assurez-vous d'inclure le ; à la fin de l'instruction DELETE et vérifiez également la syntaxe appropriée sur d'autres parties du déclencheur.
De plus, n'oubliez pas d'utiliser des délimiteurs lors de la saisie du code du déclencheur dans une fenêtre de console. Par exemple, vous pouvez utiliser $ comme délimiteur, comme ceci :
<code class="sql">DELIMITER $ CREATE TRIGGER log_patron_delete AFTER DELETE ON patrons FOR EACH ROW BEGIN DELETE FROM patron_info WHERE patron_info.pid = old.id; END$ DELIMITER ; $</code>
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!