Detta verkar subjektivt, men jag skulle säga nej, det är inte begreppsmässigt rätt, eftersom:
- du vill ha den senast infogade raden
- men din fråga tittar på det maximala
id
värde
Ja, det finns ett samband mellan max id och senaste infogning, men tänk på följande:
- Vad händer om den senast infogade raden togs bort?
Svar på MySQL:du får olika resultat. Observera att det inte ens behöver vara multithreading eller flera processer för att detta ska misslyckas. Det beror på att det är två olika saker (vilket visserligen ofta kan ge samma resultat).
select max(id) from <tablename>
kontra
select last_insert_id()
(Gissa vilken som är rätt.)
@Dems påpekade att OP är tvetydig. Jag ska förtydliga min huvudsakliga poäng:
Vi pratar om tre olika delar av information:
- högsta
id
värde id
av den senast infogade raden, specifik för en sessionid
av raden som senast infogades i tabellen (oavsett session)
Det farliga är att ibland, att fråga efter en ger det rätta svaret för en annan -- men inte alltid .