Ovviamente l'argomento sarà stato trattata e ritrattato in abbondanza e premetto che ho già fatto una ricerca in rete, ma non mi fido molto di quello che ho letto.
Ovviamente a me serve recuperare l'ultimo id autoincrementale inserito in una tabella ed ho visto che c'è paresempio la funzione LAST_INSERT_ID() che fa questa cosa.

Quello che mi chiedo è però è come è gestita questa funzione, ovvero: se io inserisco un record in una tabella (mettiamo di angarafica) e vado a recuperare l'ultimo id inserito, ma non faccio una commit ancora, un altro utente che fa la stessa cosa contemporaneamente vede comunque l'ultimo id incrementato nonostante la commit non sia stata ancora fatta?

Altra cosa...mi pare di aver capito che questa funziona fa riferimento all'ultima insert inserita, ma mettiamo che contemporaneamente un utente faccia un inserimento in anagrafica e un altro utente in un altra tabbella com un altro valore auto_increment...la funzione LAST_INSERT_ID() riesce a distinguere i due casi e restituire quindi due valori calcolati in base alle due differenti tabelle? Oppure no?

Avete da consigliarmi altri metodi per recuperare univocamente un id di una tabella in modo sicuro? Spero di essere stato chiaro nelle mie domande...

Grazie mille!