Voltar às perguntas frequentes sobre Bancos de dados
CENTRAL DE AJUDA · FAQBancos de dados1 min de leitura

Como evito executar a mesma alteração no banco de dados duas vezes?

Projete gravações para permitir tentativas seguras. Use uma chave de negócio única, uma transação quando alterações relacionadas precisarem ocorrer juntas e confira o resultado anterior antes de repetir uma operação incerta.

Bancos de dados

Faça novas tentativas com cuidado

Um tempo limite pode deixar dúvidas sobre a confirmação da gravação. Repetir um INSERT não idempotente pode criar uma duplicata mesmo que a primeira solicitação tenha sido concluída. Prefira uma restrição única ou upsert se o modelo permitir.

Para mudanças relacionadas em várias etapas, use uma transação se a operação suportar, para confirmar ou reverter tudo em conjunto. Mantenha as instruções específicas e vincule valores em vez de montar SQL com texto não confiável.

Confirme o resultado armazenado

Antes de tentar novamente após erro de conexão ou workflow, consulte um identificador estável e examine a linha atual. Um tempo limite não prova que nada foi gravado; diferencie falha de resultado incerto.

Registre a chave da operação e os dados de alteração no histórico quando apropriado. Para efeitos externos associados à gravação, use uma fila de saída ou uma transição de estado explícita para não repetir notificações ou pagamentos silenciosamente.

Voltar às perguntas frequentes sobre Bancos de dados