Supongo que desea recuperar la última ID insertada más adelante después de insertarla, ya que si la necesita inmediatamente después de insertarla, obviamente ya lo haría saber lo que es el id.
La única forma en que podrá obtener eso es tener otra columna en la tabla que pueda indicar qué fila se insertó por última vez, como una marca de tiempo o una columna de fecha y hora. Si sus identificaciones son únicas y van en aumento, puede usar esa columna. Luego solo selecciona 1 fila ordenada por esa columna en orden descendente.
Por ejemplo
INSERT INTO my_table (id, timestamp) VALUES (123, NOW())
SELECT id FROM my_table ORDER BY timestamp DESC LIMIT 1
Editar: según los comentarios a continuación, es mucho mejor usar una columna AUTO_INCREMENT, aunque esta columna no tiene por qué ser la columna de la id
, se podría añadir un auto -incrementar insert_order
columna de tipo Int
y simplemente ordenar por eso.
Si la identificación no es auto-incremento, entonces usted tiene que suministrar en su sentencia INSERT, por lo que ya lo tienes –
@Darhazer: ... posiblemente en otra aplicación, posiblemente en otra máquina, potencialmente en otra red en otro país ....? –
por cierto LAST_INSERT_ID() funciona solo para la sesión que insertó el registro, no devolverá nada desde otra red en otro país :) –