Elimina da due tabelle contemporaneamente con un trigger:
I trigger vengono utilizzati per rafforzare l'integrità dei dati nelle tabelle. Puoi utilizzare i trigger per eliminare da qualsiasi numero di tabelle contemporaneamente.
Prima di inizializzare i trigger è necessario modificare temporaneamente l'operatore del delimitatore mysql perché i trigger utilizzano il punto e virgola ;
operatore per specificare più comandi sql all'interno del trigger.
Passaggio 1 Modifica il delimitatore corrente:
delimiter $$
Passaggio 2 Crea attivatore:
CREATE TRIGGER `blog_before_delete`
AFTER DELETE ON `blog`
FOR EACH ROW
BEGIN
DELETE FROM blog_tags where blogid = OLD.id;
DELETE FROM blog_comments where blogid = OLD.id;
END
$$
Passaggio 3 Ripristina il delimitatore precedente:
delimiter ;
Spiegazione:
OLD
è una parola chiave incorporata e si riferisce alla riga della tabella del blog che stiamo eliminando. Mysql esegue il trigger blog_before_delete
ogni volta che cancelliamo una voce nella tabella del blog. Se il trigger ha esito negativo, viene eseguito il rollback dell'eliminazione. Questo aiuta a garantire Atomicità, coerenza, isolamento e durabilità
nel nostro database.