8.3.6 Как получить значение столбца AUTO_INCREMENT в ODBC
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;