¿Cómo obtener exactamente la identificación del último registro insertado en mysql?

Estoy construyendo una aplicación web, que puede ser utilizada por múltiples usuarios simultáneamente. Pueden agregar datos al mismo tiempo.

Tengo una tabla llamada doctor_main de la siguiente manera

Captura de pantalla de DB http://img687.imageshack.us/img687/7033/testxqz.png

Una vez que se agrega un registro sobre un médico, quiero que se devuelva la identificación del registro insertado (que es un campo de incremento automático).

Sé que puedo usar métodos como LAST_INSERT_ID () y mysql_insert_id. Pero no sé cómo se comporta.

Necesito la identificación exacta del registro que inserta ese usuario en particular.

En ocasiones, si dos usuarios intentan insertar un registro, el ID que se devuelve no debe intercambiarse.

Para lograr esto, ¿qué tipo de función mysql debería usar?

Hay una página completa en el manual dedicada a este tema:

  • Cómo obtener la identificación única para la última fila insertada

Aquí hay una cita de esa página que debería ayudar a responder su pregunta:

Para LAST_INSERT_ID (), la ID generada más recientemente se mantiene en el servidor por conexión. No es cambiado por otro cliente.

mysql_insert_id() devuelve exactamente el id del último registro insertado, por lo que si solo echo mysql_insert_id() obtendrá el id de la última fila insertada.

De acuerdo con los documentos , mysql_insert_id le devolverá la identificación exacta de la inserción que hizo antes.

LAST_INSERT_ID() opera por conexión; varios usuarios utilizarán conexiones múltiples, por lo que nunca habrá un intercambio de ID entre usuarios.

LAST_INSERT_ID() y mysql_insert_id funciona bien. Cada cliente recibirá la última ID insertada para la última statement ejecutada por el cliente.

Si sospecha del mecanismo de last_insert_id , puede asignar el id mano, no mediante la característica auto_increment de MySQL.