Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получение id только что вставленной записи [D7, MySQL]


solenko ©   (2006-03-27 13:06:00) 

Здравствуйте!
Использую для подключения к MySQL библиотеку ZeosLib.
После вставки данных в табличку мне необходимо получить id вставленной записи. Как это сделать?


Курдль   (2006-03-29 16:57:00) [1]


> Id   (28.03.06 13:38) [6]
> В одной транзакции
> 1. Insert ...
> 2. Select Max(id) ...
> Мне кажется логично. Или нет?

А мозгом подумать? Если другой юзер в своей транзакции, но в тот же момент, проделает ту же хитрость? Догадайся, какой результат получит тот, кто сделает коммит чуть позже?


Johnmen   (2006-03-28 13:44:00) [2]


> Мне кажется логично. Или нет?


Логично. Но неправильно.


Id   (2006-03-28 13:38:00) [3]


> solenko ©   (27.03.06 13:06)  

Сталкивался с такой же проблемой.
Так по-моему тоже можно:
В одной транзакции
1. Insert ...
2. Select Max(id) ...
Мне кажется логично. Или нет?


Anatoly Podgoretsky   (2006-03-27 15:03:00) [4]

Nikolay M. ©   (27.03.06 13:31) [3]
Кто то говорил, что в справку не посылает :-)


solenko   (2006-03-27 13:40:00) [5]

Сори. Туплю уже.


Nikolay M.   (2006-03-27 13:31:00) [6]

А сделать

SELECT LAST_INSERT_ID();

как это описано в документации - религия не позволяет?


solenko   (2006-03-27 13:21:00) [7]

Эта функция мне известна (в dll-ке звучит как mysql_insert_id), но проблемма в том, что я использую не библиотеку напрямую, а ZeosLib. В исходниках она упоминается, но как получить к ней доступ средствами зеоса я так и не нашел.


Johnmen   (2006-03-27 13:15:00) [8]

LAST_INSERT_ID
http://www.mysql.ru/docs/man/Miscellaneous_functions.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо