Dovresti dare un'occhiata a questo articolo
per quanto riguarda MySQL last_insert_id
last_insert_id
è indipendente dal client e restituirà l'ID per l'ultima riga inserita da quel client, quindi non devi preoccuparti che un utente su un'altra connessione effettui transazioni con il database.