Vielleicht testet Du Deine Beispiel noch mit den verschiedenen Isolation Levels
MySQL :: MySQL 5.1 Referenzhandbuch :: 14.2.10.3 InnoDB und TRANSACTION ISOLATION LEVEL Code:
TRANSACTION-Anweisung einstellen, die folgende Syntax hat:
SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL
{READ UNCOMMITTED | READ COMMITTED
| REPEATABLE READ | SERIALIZABLE}
Beachten Sie, dass in den Namen der Ebenen in der --transaction-isolation-Option Bindestriche verwendet werden, aber nicht in der SET TRANSACTION-Anweisung.
Mir ist es mal passiert, dass ich meine Tabellen zwar mit ENGINE=InnoDB erzeugt habe, aber die MySQL nur mit MyISAM gelaufen ist. Den Fehler habe ich dann länger gesucht....
Leider habe ich hier keine MySQL am Laufen... kann es also erst heute Abend testen.
Grüße
Thomas