Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Entrada duplicada

Olá

Estou com um problema quando tento inserir novamente o mesmo dado pelo Postman acontece este erro:

Duplicate entry 'rodrigo.ferreira@voll.med' for key 'medicos.email'

Fiquei um pouco perdido pois não sei se foi projetado assim para não aceitar entradas duplicadas ou se é alguma config que deixei de fazer.

3 respostas
solução!

Oi!

Na Migration da tabela de médicos as colunas email e crm estão como unique e com isso o MySQL não deixa cadastrar registros com esas informações duplicadas.

Bons estudos!

Olá Vinicius, tudo bem?

Esse erro ocorre porque você está tentando inserir um dado que já existe no banco de dados. A mensagem "Duplicate entry" indica que já existe uma entrada com o mesmo valor na coluna "email" da tabela "medicos".

Existem algumas formas de lidar com esse problema. Uma opção é verificar se o dado já existe antes de fazer a inserção. Você pode fazer uma consulta no banco de dados para verificar se já existe um médico com o mesmo email antes de tentar inserir. Se já existir, você pode retornar uma mensagem informando que o médico já está cadastrado.

Outra opção é definir um índice único na coluna "email" da tabela "medicos". Isso fará com que o banco de dados impeça a inserção de entradas duplicadas automaticamente, retornando um erro caso você tente inserir um dado repetido. Dessa forma, você não precisa fazer a verificação manualmente.

A escolha entre essas opções depende do seu caso de uso e das suas necessidades. Se você quiser permitir a inserção de entradas duplicadas, pode optar pela verificação manual. Caso contrário, pode utilizar o índice único.

Espero ter ajudado e bons estudos!

obrigado Rodrigo e Otavio pela rapida resposta! Ambas foram foram de grande ajuda para entender melhor esta parte.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software