>сколько не рыл в книжках не мог найти следующей вещи:
>допустим типичный инсерт в таблицу, в которой есть конечно ключевое поле автоикремент.
>
>как вытащить его значение (чтобы тут же создать связанную с этой записью
>запись в другой таблице).
>Я делаю так: SELECT `id` FROM `table` WHERE ORDER BY `id` DESC
>LIMIT 1;
>Но если запрос выполняется на autocommit-сеансе, то там может появится другая запись
>(паралельным процессом (php-сценарием)).
>Подскажите, плиз, есть ли СТАНДАРТНОМ sql такая возможность.
>Ну если не таковом, то MySql иди Oracle.
в пхп функция mysql_insert_id()
mysql_insert_id
(PHP 3, PHP 4, PHP 5)
mysql_insert_id -- Возвращает ID, сгенерированный при последнем INSERT-запросе.
Описание
int mysql_insert_id ( [resource link_identifier] )
mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу, на который ссылается переданный функции указатель link_identifier. Если параметр link_identifier не указан, используется последнее открытое соединение.
mysql_insert_id() возвращает 0, если последний запрос не работал с AUTO_INCREMENT полями. Если вам надо сохранить значение, убедитесь, что mysql_insert_id() вызывается сразу после запроса.
Замечание: Значение в SQL функции MySQL LAST_INSERT_ID() всегда содержит последний сгенерированный ID и не обнуляется между запросами.