Få id ved insættelse!
Hvis jeg har 1.000 mennesker som samtidigt opretter en bruger i mit system (PHP 4, MySQL 4.0.18) vil jeg gerne have det rigtige bruger_id ud.Jeg har noget kode som dette:
// Opret bruger, user_id er AUTO_INCREMENT
INSERT INTO Bruger (user_id,user_name) VALUES ('','test')
// hent brugerid:
$bruger_id = mysql_insert_id();
// indsæt et eller andet ind i en anden table
INSERT INTO SJOV (user_id,sjov) VALUES ('$bruger_id','sjov')
Nu vil jeg jo gerne sikre mig at mysql_insert_id() returnere DENNE brugers user_id og ikke en som i samme sekund også trykkede på "opret".
Jeg kan ikke helt læse mig til hvad HELT PRÆCIST mysql_insert_id() returnerer.... så jeg ved ikke om jeg skal lave LOCK / UNLOCK eller om mysql_insert_id() simplethen giver denne "user-conenctions last inserted user_id"
Jeg vil være glad for om en kunne cementere at mysql_insert_id() er sikker at bruge, ellers skal jeg bruge kode til at LÅSE eller evt. noget med Transaction ...
