Habe einen mit einem Trigger gefunden:
Wenn Sie eine komplizierte Reihe von Einfügungen oder Aktualisierungen haben, die in einer Transaktion ausgeführt werden müssen, können Sie diese im Anwendungscode oder
ausführen
Sie können ein "großes" blackhole
erstellen Tabelle mit genügend Zeilen, um alle Werte aufzunehmen.
Und erstellen Sie einen Trigger wie:
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 ;
Wenn Sie Code zur Fehlerprüfung einschließen, können Sie sogar Transaktionen auf Engines simulieren, die ihn nicht unterstützen, wie MyISAM.