Dados inseridos diretamente no Banco PostgreSQL gerando erro.

Inseri vários serviços via SQL diretamente no Banco de Dados.
Agora, quando vou inserir novo serviço via formulário do Sistema ele não captura do banco o próximo Id livre, isso gera o seguinte problema.

An exception occurred while executing
'INSERT INTO servicos (nome, descricao, status, peso, id, macro_id) VALUES (?, ?, ?, ?, ?, ?)'
with params ["SERVI\u00c7O TESTE", "Testando inser\u00e7\u00e3o de novo servi\u00e7o", "1", 1, 571, null]:

SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "servicos_pkey" DETAIL: Key (id)=(571) already exists.

Ou seja, ele busca este valor em outra tabela ou programação do sistema e estarei debugando para encontrar este problema e a melhor forma de corrigir.

Comments

  • No PostgreSQL a coluna incremental usa sequence, que é incrementada quando você passa null no valor. Como você inseriu valor direto não disparou o incremento da sequence.

    Você pode fazer um script para atualizar o valor da sequence para o maior valor do ID.
  • Mais uma resolvida, graças à sua preciosa orientação! Obrigado, @rogeriolino!
This discussion has been closed.