Maison > base de données > tutoriel mysql > Comment supprimer correctement les données d'une table après avoir supprimé d'une autre à l'aide des déclencheurs MySQL ?

Comment supprimer correctement les données d'une table après avoir supprimé d'une autre à l'aide des déclencheurs MySQL ?

Linda Hamilton
Libérer: 2024-11-03 16:25:03
original
436 Les gens l'ont consulté

How to Correctly Delete Data from One Table After Deleting from Another Using MySQL Triggers?

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal