php_beginner: MySQL Transactions

Beitrag lesen

Hi,

Ich moechte, dass die Daten einer Session in einer mysql Datenbank gespeichert werden. Da ich nun außerdem verhindern moechte, dass  bei nahezu gleichzeitigem Beginn zweier Sessions Fehler auftreten, wollte ich meine SQL Anweisung reapeatable read geschuetzt machen:

$qry =  " START TRANSACTION; " .
     " INSERT INTO Session (SessionID,StartTime,Usertype,Name) " .
     " VALUES ('$sessionid','$startime','Admin','$Admin_Account'); " .
     " SELECT last_insert_id(); " .
     " COMMIT;";

Nach dem Ausfuehren des query`s wollte ich dann eben die last_insert_id auslesen lassen, um sie hinterher weiter zu benutzen. Da aber zwischen Insert und Select ein weiteres Insert erfolgen koennte, wuerde die last_insert_id u.U. nicht mehr stimmen. Normalerweiße ist mysql auf repeatable read eingestellt, was ja reichen wuerde, wenn ich das Insert und das Select irgendwie "koppeln" koennte. Ist meine Query Eingabe einfach falsch oder was habe ich nicht beachtet ?