2
respostas

Problema ao rodar o código

INSERT INTO [TABELA DE PRODUTOS]
([CODIGO DO PRODUTO], [NOME DO PRODUTO], [EMBALAGEM], [TAMANHO], [PREÇO], [SABOR])
VALUES
('5449310', 'Frescor do Verão - 350 ml - Limão', 'Lata', '350 ml',2.45, 'Limão'),
('1078680', 'Frescor do Verão - 350 ml - Manga', 'Lata', '350 ml',3.18, 'Manga');

Ao adicionar esse código, SSMS me devolve:

Mensagem 2627, Nível 14, Estado 1, Linha 75 Violação da restrição PRIMARY KEY 'PK__TABELA D__9F23A2C31D4644F5'. Não é possível inserir a chave duplicada no objeto 'dbo.TABELA DE PRODUTOS'. O valor de chave duplicada é (5449310). A instrução foi finalizada.

Estou errando em algo?

2 respostas

Estranho, o problema foi o último zero do código '5449310', porém está como primary key com 20 números, mas tirando o 0 deu certo..

Bom dia! Ao utilizar um campo como chave primária não há necessidade de colocá-lo no script de inserção de dados, pois a funcionalidade de uma PK já faz isso de forma automática e evita erros como esses de violação de primary key. Caso a coluna 'Código do Produto' seja um campo que necessite de flexibilidade, ou seja, que você irá pegar de base de outro lugar, sugiro não deixá-lo como chave primária. A chave primária serve para identificar o dado na tabela específica e para relacioná-lo com outras tabelas.

Espero ter ajudado!