8.3.6 Как получить значение столбца AUTO_INCREMENT в ODBC
Существует распространенная проблема, заключающаяся в том, как получить
значение автоматически сгенерированного 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 section 8.4.6.3 Как получить уникальный идентификатор для последней внесенной строки?.
Для некоторых приложений ODBC (по крайней мере, для Delphi и Access),
чтобы найти недавно вставленную строку, можно использовать следующий
запрос:
SELECT * FROM tbl_name WHERE auto IS NULL;