Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Базы данных (http://www.flasher.ru/forum/forumdisplay.php?f=22)
-   -   mysql и last_insert_id() (http://www.flasher.ru/forum/showthread.php?t=50358)

Timofey 20.10.2003 12:18

mysql и last_insert_id()
 
привет

думаю у многих возникала задача определить id автоикреметного поля, только что введенной записи, обычно я это делал через кучу условий
(select record_id from test where user='..' AND .....), тут почитал внимательно документацию и нашел там last_insert_id(), т.е. типа

select last_insert_id() from test, на сколько это вообще правильно если лока таблицам я не делаю?

Armen Khanoyants 20.10.2003 14:01

не правильно.
Цитата:

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() сразу после запроса, генерирующего это значение.

Примечание: значение MySQL-функции LAST_INSERT_ID() всегда содержит самое последнее сгенерированное значение AUTO_INCREMENT и не восстанавливается между запросами.
попробуй так:
Код:

SELECT id FROM `имя_таблицы` ORDER BY id DESC limit 1

Crazy 20.10.2003 15:23

Re: mysql и last_insert_id()
 
Цитата:

Оригинал написал(а) Timofey
select last_insert_id() from test, на сколько это вообще правильно если лока таблицам я не делаю?
lock здесь не нужен.

Crazy 20.10.2003 15:26

Цитата:

Оригинал написал(а) Armen Khanoyants
не правильно.
В чем конкретно неправильность?

Armen Khanoyants 20.10.2003 16:12

в смысле все правильно:)


Часовой пояс GMT +4, время: 05:28.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.