estaba revisando un módulo de Drupal cuando encontré este patrón para obtener el ID de la última fila insertada:¿Es conceptualmente correcto hacer un SELECT MAX (id), etc. para encontrar la última fila insertada?
SELECT MAX(id) FROM ... WHERE ...
donde el id es un campo de trabajo de una manera habitual incremento automático.
¿Es esto correcto desde el punto de vista conceptual? ¿Hay alguna situación en la que este patrón falle en un entorno MySQL/PostgreSQL?
Editar:
Gracias por los excelentes comentarios y respuestas!
Debo aclarar mi pregunta: me refería a una situación en la que a alguien le gustaría encontrar la identificación de la última fila insertada independientemente de la sesión.
No estoy seguro de conceptualmente bien, pero creo que si la semilla de esa columna se cambia alguna vez, puede que no sea el valor correcto. – user1231231412
Ver [¿Cuál es la forma estándar de obtener la última identificación de inserción?] (Http://stackoverflow.com/questions/5048602/whats-the-stardard-way-of-getting-the-last-insert-id) –
Do te refieres al último registro insertado por la sesión actual? O simplemente un genérico "¿cuál es el registro más nuevo en esta tabla"? Muchas respuestas aquí parecen suponer lo primero, y si ese es el caso, tienen razón. Si el proceso que busca un máximo (id) no busca un proceso de registro ESCRITO insertado, no puedo pensar en un escenario en el que max (id) no proporcione "el registro más reciente en la tabla". – MatBailie