2
respostas

Sequelize está sempre tentando inserir o ID como '100'.

Boa tarde! Ao tentar criar um registro do BD, recebo o seguinte erro

code: 'ER_DUP_ENTRY',
errno: 1062,
sqlState: '23000',
sqlMessage: "Duplicate entry '100' for key 'livros.PRIMARY'",
sql: 'INSERT INTO `Livros` (`id`,`codigo`,`nome`,`preco`,`createdAt`,`updatedAt`) VALUES (?,?,?,?,?,?);',
parameters: [
  100,
  'LIV0004',
  'Livro de C',
  49.9,
  '2021-07-27 20:25:45',
  '2021-07-27 20:25:45'
]

"Duplicate entry '100' for key 'livros.PRIMARY'": Está ocorrendo este erro porque o primeiro create funciona e ele recebe o ID 100, porém ao tentar adicionar mais registros ele da erro por conta de tentar inserir com o ID 100 de novo. Não sei como corrigir isso, o campo ID está como auto_increment no MySQL. Obrigado.

2 respostas

Boa tarde Vinícius,

Coloca aqui pra gente o código que faz a inserção pra podermos entender melhor.

Provavelmente no seu código no Controller no método criar, você esqueceu de tirar o trecho do código livro.id = 100;, onde foi atribuido a título de exemplo em aula anterior. Basta remover, porém após remover o banco salvará o próximo item como ID 101. Então vá até seu BD e utilize o código ALTER TABLE livraria.livros AUTO_INCREMENT=1, para que o contador do ID volte para o 1.

Bons estudos.