O Problema
Precisava selecionar a ultima linha inserida em uma tabela do meu banco de dados.
A Solução
SELECT * FROM tabela ORDER BY id DESC LIMIT 1 |
Com isso eu seleciono todas as colunas da ultima pessoa inserida
Conclusão
Existe outras maneiras porém até agora essa foi a mais simples que eu encontrei.
Tenho visto os teus posts sobre o postgres cm atenção. Foi um SGBD que gostei muito de estudar.
Quanto a este teu problema nao sei qual o âmbito, mas se for para uma solução que tenha q ser usada muitas vezes, estares a fazer uma ordenação é uma operação cara.
O SELECT tem uma opção RETURNNING em que podes devolver o ID e fazer depois uma segunda pesquisa o que é bastante melhor.
abraço
Salve joão.
Não conhecia o RETURNING, achei muito útil, no meu caso em particular minha SQL não é executada imediatamente após o INSERT mas todos caso fica registrada ai a dica, aprendi mais uma.
Dando uma pesquisada descobri que esta clausula foi inserida a partir da versão 8.2 do banco, então fica ai a dica, se usar banco 8.2+ use o RETURNING, abaixo vai um exemplo de como ele funciona
INSERT INTO distributors (did, dname) VALUES (DEFAULT, ‘XYZ Widgets’)
RETURNING did;
Muito obrigado!
Era exatamente o que eu estava procurando…
Foi de grande ajuda!
Tem outras formas mais simples … como a função mysql_insert_id(); que retorna o ultimo id registrado na query mais recente
puta que pariu, tu é burro toninho, o cara pediu pro banco postgres e nao mysql.