Dette virker subjektivt, men jeg vil sige nej, det er ikke begrebsmæssigt rigtigt, fordi:
- du vil have den senest indsatte række
- men din forespørgsel ser på det maksimale
id
værdi
Ja, der er en sammenhæng mellem max id og seneste indsættelse, men overvej følgende:
- hvad hvis den senest indsatte række blev slettet?
Svar på MySQL:du får forskellige resultater. Bemærk, at der ikke engang behøver at være multithreading eller flere processer for at dette mislykkes. Det er fordi de er to forskellige ting (som ganske vist ofte kan give de samme resultater).
select max(id) from <tablename>
vs
select last_insert_id()
(Gæt hvilken der er rigtig.)
@Dems påpegede, at OP er tvetydig. Jeg vil præcisere min hovedpointe:
Vi taler om tre forskellige oplysninger:
- maksimum
id
værdi id
af rækken, der senest er indsat, specifik for en sessionid
af rækken, der senest er indsat i tabellen (uanset session)
Det farlige er, at nogle gange vil forespørgsel efter én give det rigtige svar for en anden -- men ikke altid .