Como Obter o Valor de uma Coluna AUTO_INCREMENT no ODBC


Um problema comum é como obter o valor de um ID gerado automaticamente em um INSERT. Com ODBC, você pode fazer algo assim (considerando que auto é um campo AUTO_INCREMENT):

INSERT INTO foo (auto,text) VALUES(NULL,'text');
SELECT LAST_INSERT_ID();

Ou, se você estiver prestes a insrir o ID em outra tabela, você pode fazer assim:

INSERT INTO foo (auto,text) VALUES(NULL,'text');
INSERT INTO foo2 (id,text) VALUES(LAST_INSERT_ID(),'text');

See "Como Posso Obter a ID Única para a Última Linha Inserida?".

Para o benefício de alguns aplicativos ODBC (pelo menos Delphi e Access), a seguinte consulta pode ser utilizada para encontrar um registro récem inserido:

SELECT * FROM nome_tabela WHERE auto IS NULL;

Retornar