sql >> Databáze >  >> RDS >> Mysql

Chci spouštěč pro DELETE ze 2 tabulek v MySQL

Odstranění ze dvou tabulek najednou pomocí spouštěče:

Spouštěče se používají k vynucení integrity dat v tabulkách. Spouštěče můžete použít k odstranění z libovolného počtu tabulek najednou.

Před inicializací spouštěčů musíme dočasně změnit operátor oddělovače mysql, protože spouštěče používají středník ; operátor k zadání více příkazů SQL v rámci spouštěče.

Krok 1 Změna aktuálního oddělovače:

delimiter $$

Krok 2 Vytvořte spouštěč:

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

Krok 3 Obnovení předchozího oddělovače:

delimiter ;

Vysvětlení:

OLD je vestavěné klíčové slovo a odkazuje na řádek tabulky blogu, který odstraňujeme. Mysql spustí spouštěč blog_before_delete kdykoli odstraníme položku v tabulce blogu. Pokud spoušť selže, odstranění se vrátí zpět. To pomáhá zajistit atomicitu, konzistenci, izolaci a trvanlivost v naší databázi.



  1. Oracle 11g:Výchozí statická hodnota, když dotaz nevrací nic

  2. Pusťte více tabulek najednou v MySQL

  3. Aktualizujte více hodnot sloupců tabulky pomocí jednoho dotazu

  4. Povídání o překážkách výkonu SQL Server