Clipper On Line • Ver Tópico - Pegar o ID após INSERT - mysql_insert_id()

Pegar o ID após INSERT - mysql_insert_id()

Discussão sobre SQL

Moderador: Moderadores

 

Pegar o ID após INSERT - mysql_insert_id()

Mensagempor NiltonGM » 11 Set 2014 21:22

Amigos,

Após um comando INSERT com o campo ID autoincremento, em PHP tempos a função mysql_insert_id() que usada imediatamente após o INSERT traz o ID que foi gerado pelo BD naquela conexão, em Harbour não temos essa função na HBMYSQL, pelo menos não com esse nome. Como poderemos saber qual o ID o autoincremento do BD gerou?
Nilton Medeiros
nilton@sistrom.com.br
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 258
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 161 vezes
Mens.Curtidas: 8 vezes

Pegar o ID após INSERT - mysql_insert_id()

Mensagempor NiltonGM » 30 Set 2016 09:10

Esqueci de postar a solução que consegui na epoca! Para ficar registrado, fiz a seguinte função:

Function GetNextInsert_id(cTabela)
         Local nNextId := 0
         Local oQuery, oRow
         Local sql := "SELECT next_insert_id('" + HMG_LOWER(cTabela) + "') as next_id;"

         oQuery := ExecutaQuery(sql)

         if ExecutouQuery(@oQuery,sql)
            if !oQuery:NetErr()

               if ( oQuery:LastRec() > 0 )
                  oRow    := oQuery:GetRow(1)
                  nNextId := oRow:FieldGet('next_id')
               end
            end
         end

Return (nNextId)


Dessa forma consigo o id antes de inserir e o uso no INSERT, assim sei qual foi o id usado para controlar as demais inserções nas tabelas filhas.
Nilton Medeiros
nilton@sistrom.com.br
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 258
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 161 vezes
Mens.Curtidas: 8 vezes

Pegar o ID após INSERT - mysql_insert_id()

Mensagempor wmanesco » 06 Out 2016 23:39

Apenas para deixar registrado, outra forma que sempre funcionou comigo:

SELECT id FROM tabela ORDER BY id DESC LIMIT 1;
William Manesco
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
wmanesco
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 118
Data de registro: 09 Set 2016 13:18
Cidade/Estado: ITAJAI - SC
Curtiu: 13 vezes
Mens.Curtidas: 4 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro