Как после INSERT'а в таблицу с полем auto_increment получить значение этого поля?
Часто при работе с таблицами, в которых есть поле с атрибутом auto_increment, нужно получать значение этого поля после очередного INSERT'а. Зачастую это делают в два приема: INSERT, а затем - SELECT с заданными параметрами. Это - неправильно.
В MySQL есть встроенные средства для получения этих данных. Многие языки программирования умеют с этими средствами работать.
Например, в PHP есть функция mysql_insert_id(). Она возвращает значение поля auto_increment после последнего INSERT'а в том соединении, на который ссылается переданный функции указатель. Если никакие параметры не указаны, используется последнее открытое соединение.
В Perl'е аналогичная функциональность есть в модуле DBD::mysql:
$insertid = $dbh->{'mysql_insertid'};