8.1.1 Получение значений автоинкремента
Получение значения столбца, использующего AUTO_INCREMENT после оператора вставки, может быть выполнено несколькими способами. Для получения значения сразу после оператора вставки, используйте запрос с функцией .
Например, используя Connector/ODBC, вы бы выполняли две отдельные операторы, оператор вставки и запрос для получения значения автоинкремента.
INSERT INTO tbl (auto,text) VALUES(NULL,'text');
SELECT LAST_INSERT_ID();
Если вам не требуется значение в вашем приложении, но требуется значение в рамках другого запроса, весь процесс может быть обработан путём выполнения следующих операторов:
INSERT INTO tbl (auto,text) VALUES(NULL,'text');
INSERT INTO tbl2 (id,text) VALUES(LAST_INSERT_ID(),'text');
Некоторые приложения ODBC (включая Delphi и Access) могут испытывать трудности с получением значения автоинкремента, используя предыдущие примеры. В этом случае попробуйте следующий оператор в качестве альтернативы:
SELECT * FROM tbl WHERE auto IS NULL;
Этот альтернативный метод требует, чтобы переменная не была установлена в 0. См. .
См. также Получение уникального ID последней вставленной строки.
© 2025 Oracle
Licensed under the GPLv2 License.