Как получить именно идентификатор последней вставленной записи в mysql?

Я создаю веб-приложение, которое может использоваться несколькими пользователями одновременно. Они могут добавлять данные одновременно.

У меня есть таблица с именем doctor_main следующим образом

Снимок экрана БД http://img687.imageshack.us/img687/7033/testxqz.png

После добавления записи о докторе я хочу, чтобы возвращаемый идентификатор вставленной записи (которая является полем автоматического увеличения).

Я знаю, что могу использовать такие методы, как LAST_INSERT_ID () и mysql_insert_id. Но я не знаю, как он себя ведет.

Мне нужен точный идентификатор записи, который вставлен этим конкретным пользователем.

Иногда, если два пользователя пытаются вставить запись, возвращаемый идентификатор не должен обмениваться.

Чтобы достичь этого, какую функцию mysql я должен использовать?

В руководстве, посвященном этой теме, есть целая страница:

  • Как получить уникальный идентификатор для последней вставленной строки

Вот цитата из этой страницы, которая должна помочь ответить на ваш вопрос:

Для LAST_INSERT_ID () самый последний сгенерированный идентификатор поддерживается на сервере для каждого соединения. Он не изменяется другим клиентом.

mysql_insert_id() возвращает точно идентификатор последней вставленной записи, поэтому, если вы просто используете echo mysql_insert_id() вы получите идентификатор последней вставленной строки.

Согласно документам , mysql_insert_id вернет вам точный идентификатор вставки, который вы делали ранее.

LAST_INSERT_ID() работает для каждого соединения; несколько пользователей будут использовать несколько подключений, поэтому никогда не будет обмена идентификаторами между пользователями.

LAST_INSERT_ID() и mysql_insert_id отлично работают. Каждый клиент получит последний вставленный ID для последнего оператора, который был выполнен клиентом.

Если вы подозреваете в механизме last_insert_id , вы можете назначить id вручную, а не функцией auto_increment MySQL.