sql >> Database teknologi >  >> RDS >> Mysql

Jeg vil have en trigger til at SLETTE fra 2 tabeller i MySQL

Slet fra to tabeller på én gang med en trigger:

Triggere bruges til at håndhæve dataintegritet i tabellerne. Du kan bruge triggere til at slette fra et hvilket som helst antal tabeller på én gang.

Før initialisering af triggere skal vi ændre mysql-afgrænseroperatoren midlertidigt, fordi triggere bruger semikolon ; operator til at angive flere sql-kommandoer i triggeren.

Trin 1 Skift nuværende afgrænsning:

delimiter $$

Trin 2 Opret trigger:

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

Trin 3 Gendan tidligere afgrænser:

delimiter ;

Forklaring:

OLD er et indbygget søgeord og henviser til blogtabelrækken, som vi sletter. Mysql kører triggeren blog_before_delete hver gang vi sletter en post i blogtabellen. Hvis udløseren fejler, så rulles sletningen tilbage. Dette er med til at sikre Atomicitet, konsistens, isolation og holdbarhed i vores database.



  1. Sådan bruger du $_GET til at få flere parametre med samme navn i PHP

  2. mysql regex utf-8 tegn

  3. Bedste praksis med historiske data i MySQL-database

  4. Hvordan installeres postgres med NSIS med alle parametre?