Cela semble subjectif, mais je dirais que non, ce n'est pas conceptuellement correct, car :
- vous voulez la dernière ligne insérée
- mais votre requête porte sur le maximum d'
idvaleur
Oui, il existe une relation entre l'ID max et l'insertion la plus récente, mais considérez ce qui suit :
- que se passe-t-il si la dernière ligne insérée a été supprimée ?
Réponse sur MySQL :vous obtenez des résultats différents. Notez qu'il n'est même pas nécessaire qu'il y ait du multithreading ou plusieurs processus pour que cela échoue. C'est parce qu'il s'agit de deux choses différentes (ce qui, certes, peut souvent produire les mêmes résultats).
select max(id) from <tablename>
contre
select last_insert_id()
(Devinez laquelle a raison.)
@Dems a souligné que l'OP est ambigu. Je vais clarifier mon point principal :
Nous parlons de trois informations différentes :
idmaximum valeuridde la dernière ligne insérée, spécifique à une sessionidde la dernière ligne insérée dans le tableau (quelle que soit la session)
La chose dangereuse est que parfois, interroger pour l'un donnera la bonne réponse pour un autre -- mais pas toujours .