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;