Существует распространенная проблема, заключающаяся в том, как получить
значение автоматически сгенерированного ID
из INSERT
. С помощью ODBC можно
сделать что-то наподобие следующего (предполагается, что auto представляет
собой поле AUTO_INCREMENT
):
INSERT INTO foo (auto,text) VALUES(NULL,'text'); SELECT LAST_INSERT_ID();
Или, если вы просто собираетесь вставить данный ID
в другую таблицу, то
можно сделать так:
INSERT INTO foo (auto,text) VALUES(NULL,'text'); INSERT INTO foo2 (id,text) VALUES(LAST_INSERT_ID(),'text');
See Раздел 8.4.6.3, «Как получить уникальный идентификатор для последней внесенной строки?».
Для некоторых приложений ODBC (по крайней мере, для Delphi и Access), чтобы найти недавно вставленную строку, можно использовать следующий запрос:
SELECT * FROM tbl_name WHERE auto IS NULL;