Това изглежда субективно, но бих казал не, не е концептуално правилно, защото:
- искате последния вмъкнат ред
- но вашата заявка разглежда максималния
id
стойност
Да, има някаква връзка между максималния идентификатор и най-новото вмъкване, но имайте предвид следното:
- какво ще стане, ако последният вмъкнат ред беше изтрит?
Отговор на MySQL:получавате различни резултати. Имайте предвид, че дори не е необходимо да има многонишковост или множество процеси, за да се провали. Това е така, защото това са две различни неща (които разбира се често могат да доведат до едни и същи резултати).
select max(id) from <tablename>
срещу
select last_insert_id()
(Познайте кое е правилно.)
@Dems посочи, че ОП е двусмислена. Ще изясня основната си идея:
Говорим за три различни части от информация:
- максимален
id
стойност id
от последния вмъкнат ред, специфичен за сесияid
от последния ред, вмъкнат в таблицата (независимо от сесията)
Опасното е, че понякога запитването за едно ще даде правилния отговор за друго - но не винаги .