mahlzeit!
Also ich hab das jetzt mal nachgebaut und es funktioniert so wie Du schreibst mit einer Tabelle vom Typ MyISAM. Evntl. hast Du einen anderen Tabellentyp der ein commit() erfordert.
Ich hab MyISQM Tabellen und bekomme "1" zuürck, wenn ich ein UPDATE ausführe was NICHTS ÄNDERT. Ich erwarte allerding die Rückgabe "0".
"-1" kommt zurück, wenn das Ausführen des statements fehlschlägt
und n kommt zurück wenn n datensätze verändert wurden.
Mist! :)