Nalezen jeden a pomocí spouštěče:
Pokud máte komplikovanou sérii příloh nebo aktualizací, které je třeba provést v transakci, můžete je provést v kódu aplikace nebo
Můžete vytvořit jednu „velkou“ blackhole
tabulka s dostatečným počtem řádků pro uložení všech hodnot.
A vytvořte spouštěč jako:
DELIMITER $$
CREATE TRIGGER ai_bh_table_each AFTER INSERT ON bh_table FOR EACH ROW
BEGIN
DECLARE lastid1 integer;
INSERT INTO table1 VALUES (null, new.field1, new.field2);
SELECT LAST_INSERT_ID() INTO lastid1;
INSERT INTO table2 VALUES (null, new.field3, lastid1);
....
END$$
DELIMITER ;
Pokud zahrnete kód kontroly chyb, můžete dokonce simulovat transakce na motorech, které jej nepodporují, jako je MyISAM.