sql >> Database >  >> RDS >> Mysql

Ik wil een trigger om te VERWIJDEREN van 2 tabellen in MySQL

Verwijderen van twee tafels tegelijk met een trigger:

Triggers worden gebruikt om de gegevensintegriteit in de tabellen af ​​te dwingen. U kunt triggers gebruiken om van een willekeurig aantal tabellen tegelijk te verwijderen.

Voordat triggers worden geïnitialiseerd, moeten we de mysql-delimiter-operator tijdelijk wijzigen omdat triggers een puntkomma gebruiken ; operator om meerdere sql-opdrachten binnen de trigger op te geven.

Stap 1 Huidig ​​scheidingsteken wijzigen:

delimiter $$

Stap 2 Trigger maken:

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
$$

Stap 3 Herstel vorig scheidingsteken:

delimiter ;

Uitleg:

OLD is een ingebouwd sleutelwoord en verwijst naar de blogtabelrij die we verwijderen. Mysql voert de trigger uit blog_before_delete telkens wanneer we een item in de blogtabel verwijderen. I de trigger mislukt, dan wordt het verwijderen teruggedraaid. Dit zorgt voor Atomiciteit, consistentie, isolatie en duurzaamheid in onze database.



  1. Django- en mysql-containers koppelen met docker-compose

  2. Aanbevelingen voor routinematige back-up van inhoud

  3. Escape-tekenreeks Python voor MySQL

  4. Gebruikt u de juiste tools voor het bewaken van databaseprestaties?