Svaret er triggere er ikke sikre .
Det viser sig, at udløseren virkelig ikke ser uforpligtede ændringer udført i andre transaktioner og passerer uden fejl. Det kan demonstreres sådan her
Transaktion 1:
START TRANSACTION;
INSERT INTO plays_in (BetID, PlayerID) VALUES (1,1); -- query A
Transaktion 2:
START TRANSACTION;
INSERT INTO plays_in (BetID, PlayerID) VALUES (1,2); -- query B; in conflict with A, but passses
Begge transaktioner:
COMMIT;
Nu plays_in
testamente indeholder begge indsatte poster, selvom hvis A og B blev udført i en enkelt transaktion, ville triggeren give en fejl.
Hele eksempelkilderne kan fås her