Намерено е едно с помощта на тригер:
Ако имате сложна серия от вмъквания или актуализации, които трябва да се случат в транзакция, можете да ги направите в кода на приложението или
Можете да създадете една "голяма" blackhole
таблица с достатъчно редове, за да побере всички стойности.
И създайте задействане като:
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 ;
Ако включите код за проверка на грешки, можете дори да симулирате транзакции на машини, които не го поддържат, като MyISAM.