The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
значение автоинкремента во вставленной в таблицу записи, !*! kerdan, 14-Дек-06, 23:11  [смотреть все]
сколько не рыл в книжках не мог найти следующей вещи:
допустим типичный инсерт в таблицу, в которой есть конечно ключевое поле автоикремент.
как вытащить его значение (чтобы тут же создать связанную с этой записью запись в другой таблице).
Я делаю так: SELECT `id` FROM `table` WHERE ORDER BY `id` DESC LIMIT 1;
Но если запрос выполняется на autocommit-сеансе, то там может появится другая запись (паралельным процессом (php-сценарием)).
Подскажите, плиз, есть ли СТАНДАРТНОМ sql такая возможность.
Ну если не таковом, то MySql иди Oracle.
  • значение автоинкремента во вставленной в таблицу записи, !*! Андрей, 07:47 , 15-Дек-06 (1)
    >сколько не рыл в книжках не мог найти следующей вещи:
    >допустим типичный инсерт в таблицу, в которой есть конечно ключевое поле автоикремент.
    >
    >как вытащить его значение (чтобы тут же создать связанную с этой записью
    >запись в другой таблице).
    >Я делаю так: 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 и не обнуляется между запросами.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру