Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Detalhe salvando novo registro com ID Máximo (2147483647) Estou enfrentando um problema na minha aplicação já tem dois dias (Nesse período nenhuma mudança foi feita no código). Ao Salvar um Master/Detail, “as vezes” a aplicação cria o Detail com o ID Máximo do MySQL (2147483647), independente de qual seria o próximo ID do autoincremento, impedindo que outro registro seja criado. Pelo que analisei, acredito que o sistema pegue o valor ...
PM
Detalhe salvando novo registro com ID Máximo (2147483647)  
Estou enfrentando um problema na minha aplicação já tem dois dias (Nesse período nenhuma mudança foi feita no código).

Ao Salvar um Master/Detail, “as vezes” a aplicação cria o Detail com o ID Máximo do MySQL (2147483647), independente de qual seria o próximo ID do autoincremento, impedindo que outro registro seja criado.

Pelo que analisei, acredito que o sistema pegue o valor de ID temporário da linha do detalhe e tente usar ele como ID na hora de salvar, ex.: “6001ab0750c6f”, acredito ser esse o caso, única justificativa que encontrei para a geração do ID Máximo.

Mesmo acreditando nessa premissa, não entendo o pq desse caso acontecer de forma aparecentemente aleatória, não encontrei um padrão, hora é em um Form hora em outro, Forms feitos 100% no Builder e outros que foram personalizados fora do Builder.

Alguém já passou por isso? Alguma ideia do que pode ser?


Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (5)


DS

mano
cola ai:
- modelo
- controller
- estrutura da tabela

PM

Opa, problema resolvido, o que ocorria era o uso do uniqid() para gerar o ID temporário, porém o mesmo ocasionalmente gerava números inteiros ao invés de um código alfanumérico previsto, causando assim a inclusão de um número maior que o limite do campo INT do MySQL.

A solução proposta pelo suporte do Builder foi a concatenação de uma string antes:

  1. <?php "b" uniqid(); ?>
ER

Olá Pedro,

Estou passando por isso agora em janeiro, o mais louco da historia que minha aplicação já roda a dois anos, por que isso só agora!

Vi mesmo que no builder as minhas aplicações com grid foi incrementado "b" . uniqid();

vou jogar isso em minha aplicação em produção para ver se resolve!

Depois que você concatenou o "b" resolveu pra você??
PM

Olá Carlos, resolveu o problema sim, no meu caso assim como vc, tenho o sistema rodando em produção um bom tempo, e só deu esse problema agora, pelo que pesquisei se trata mesmo da função uniqid(), o que ocorre é que o código gerado é baseado no milionésimo do tempo atual, então acredito que alguns times dentro desse mês estejam gerando códigos de número inteiro.
ER

Valeu Pedro Obrigado pela sua Atenção!!! Qualquer Problema sobre isso vamos postando aqui meu irmão! Abraços!