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

[Dúvida] Não consigo completar o desafio Mão na massa: inserindo outros clientes da Hermex Import, dá erro.

Apresenta o erro SQLITE_CONSTRAINT_PRIMARYKEY: sqlite3 result code 1555: UNIQUE constraint failed: tabelaprodutos.Id_produto (Já procurei, passei muito tempo tentando e não consegui achar ou ENTENDER o erro, visto que sou iniciante)

Meu código:

Me ajude a corrigir no meu código o erro: SQLITE_CONSTRAINT_PRIMARYKEY: sqlite3 result code 1555: UNIQUE constraint failed: tabelaprodutos.Id_produto:

 INSERT INTO tabelaprodutos
( id_produto,
 nome_do_produto,
 descricao,
 categoria,
preco_de_compra,
unidade,
fornecedor,
data_de_inclusao)
 VALUES
(1, 'Smartphone X', 'Smartphone de última geração', 1, 699.99, 'Unidade', 1, '2023-08-01'),
(2, 'Notebook Pro', 'Notebook poderoso com tela HD', 2, 1199.99, 'Unidade', 2, '2023-08-02'),
(3, 'Tablet Lite', 'Tablet compacto e leve', 3, 299.99, 'Unidade', 3, '2023-08-03'),
(4, 'TV LED 55"', 'TV LED Full HD de 55 polegadas', 4, 599.99, 'Unidade', 4, '2023-08-04'),
(5, 'Câmera DSLR', 'Câmera digital DSLR com lente intercambiável', 5, 699.99, 'Unidade', 5, '2023-08-05'),
(6, 'Impressora Laser', 'Impressora laser de alta qualidade', 6, 349.99, 'Unidade', 6, '2023-08-06'),
(7, 'Mouse Óptico', 'Mouse óptico sem fio', 7, 19.99, 'Unidade', 7, '2023-08-07'),
(8, 'Teclado sem Fio', 'Teclado sem fio ergonômico', 8, 39.99, 'Unidade', 8, '2023-08-08'),
(9, 'Headphones Estéreo', 'Headphones estéreo com cancelamento de ruído', 9, 149.99, 'Unidade', 9, '2023-08-09'),
(10, 'Smartwatch', 'Smartwatch com monitor de frequência cardíaca', 10, 199.99, 'Unidade', 10, '2023-08-10'),
(11, 'Monitor 24"', 'Monitor LED Full HD de 24 polegadas', 11, 149.99, 'Unidade', 11, '2023-08-11'),
(12, 'HD Externo 1TB', 'HD Externo portátil de 1TB', 12, 79.99, 'Unidade', 12, '2023-08-12'),
(13, 'Drone DJI', 'Drone DJI com câmera 4K', 13, 799.99, 'Unidade', 13, '2023-08-13'),
(14, 'Console de Jogos', 'Console de jogos de última geração', 14, 299.99, 'Unidade', 14, '2023-08-14'),
(15, 'Fones de Ouvido Bluetooth', 'Fones de ouvido Bluetooth com estojo de carregamento', 15, 59.99, 'Unidade', 15, '2023-08-15'),
(16, 'Projetor HD', 'Projetor HD de alta definição', 16, 499.99, 'Unidade', 16, '2023-08-16'),
(17, 'Impressora Multifuncional', 'Impressora multifuncional com scanner', 6, 249.99, 'Unidade', 6, '2023-08-17'),
(18, 'Notebook Ultrafino', 'Notebook ultrafino com SSD rápido', 2, 999.99, 'Unidade', 2, '2023-08-18'),
(19, 'Mouse Gamer', 'Mouse gamer com iluminação RGB', 7, 49.99, 'Unidade', 7, '2023-08-19'),
(20, 'Câmera de Ação', 'Câmera de ação à prova dagua', 5, 129.99, 'Unidade', 5, '2023-08-20'),
(21, 'Tablet Profissional', 'Tablet profissional para designers', 3, 499.99, 'Unidade', 3, '2023-08-21'),
(22, 'Monitor Curvo', 'Monitor LED curvo de 32 polegadas', 11, 299.99, 'Unidade', 11, '2023-08-22'),
(23, 'Teclado Mecânico', 'Teclado mecânico para jogos', 8, 89.99, 'Unidade', 8, '2023-08-23'),
(24, 'Console Portátil', 'Console de jogos portátil', 14, 199.99, 'Unidade', 14, '2023-08-24'),
(25, 'HD Externo 2TB', 'HD Externo portátil de 2TB', 12, 109.99, 'Unidade', 12, '2023-08-25'),
(26, 'Kit de Caixas de Som', 'Kit de caixas de som estéreo', 17, 29.99, 'Unidade', 17, '2023-08-26'),
(27, 'Câmera de Segurança', 'Câmera de segurança com visão noturna', 18, 79.99, 'Unidade', 18, '2023-08-27'),
(28, 'Projetor Mini', 'Projetor mini portátil', 16, 199.99, 'Unidade', 16, '2023-08-28'),
(29, 'Impressora a Jato de Tinta', 'Impressora a jato de tinta colorida', 6, 89.99, 'Unidade', 6, '2023-08-29'),
(30, 'Servidor de Rede', 'Servidor de rede empresarial', 19, 799.99, 'Unidade', 19, '2023-08-30'),
(31, 'Smartphone Y', 'Smartphone de última geração', 1, 699.99, 'Unidade', 1, '2022-08-01'),
(32, 'Notebook Avançado', 'Notebook poderoso com tela Full HD', 2, 1299.99, 'Unidade', 2, '2022-08-02'),
(33, 'Tablet Pro', 'Tablet profissional com caneta stylus', 3, 399.99, 'Unidade', 3, '2022-08-03'),
(34, 'TV OLED 65"', 'TV OLED 4K de 65 polegadas', 4, 899.99, 'Unidade', 4, '2022-08-04'),
(35, 'Câmera Mirrorless', 'Câmera digital mirrorless de alta qualidade', 5, 799.99, 'Unidade', 5, '2022-08-05'),
(36, 'Impressora Jato de Tinta', 'Impressora jato de tinta colorida', 6, 299.99, 'Unidade', 6, '2022-08-06'),
(37, 'Mouse Bluetooth', 'Mouse Bluetooth ergonômico', 7, 29.99, 'Unidade', 7, '2022-08-07'),
(38, 'Teclado Mecânico RGB', 'Teclado mecânico RGB para gamers', 8, 59.99, 'Unidade', 8, '2022-08-08'),
(39, 'Fones de Ouvido Sem Fio', 'Fones de ouvido sem fio com cancelamento de ruído', 9, 169.99, 'Unidade', 9, '2022-08-09'),
(40, 'Smartwatch Pro', 'Smartwatch com GPS e monitor de saúde', 10, 249.99, 'Unidade', 10, '2022-08-10'),

...

4 respostas

Da forma abaixo agora aparece o erro SQLITE_ERROR: sqlite3 result code 1: incomplete input

INSERT INTO tabelaprodutos
( id_produto,
 nome_do_produto,
 descricao,
 categoria,
 preco_de_compra,
 unidade,
 fornecedor,
 data_de_inclusao)
 VALUES
 ('1', 'Smartphone X', 'Smartphone de última geração', 01, 699.99, 'Unidade', 1, '2023-08-01'),						
('2', 'Notebook Pro', 'Notebook poderoso com tela HD', 02, 1199.99, 'Unidade', 2, '2023-08-02'),						
('3', 'Tablet Lite', 'Tablet compacto e leve', 3, 299.99, 'Unidade', 03, '2023-08-03'),						
('4', 'TV LED 55"', 'TV LED Full HD de 55 polegadas', 4, 599.99, 'Unidade', 04, '2023-08-04'),						
('5', 'Câmera DSLR', 'Câmera digital DSLR com lente intercambiável', 05, 699.99, 'Unidade', 5, '2023-08-05'),						
('6', 'Impressora Laser', 'Impressora laser de alta qualidade', 06, 349.99, 'Unidade', 6, '2023-08-06'),						
('7', 'Mouse Óptico', 'Mouse óptico sem fio', 7, 19.99, 'Unidade', 07, '2023-08-07'),						
('8', 'Teclado sem Fio', 'Teclado sem fio ergonômico', 08, 39.99, 'Unidade', 8, '2023-08-08'),						
('9', 'Headphones Estéreo', 'Headphones estéreo com cancelamento de ruído', 09, 149.99, 'Unidade', 9, '2023-08-09'),						
('10', 'Smartwatch', 'Smartwatch com monitor de frequência cardíaca', 010, 199.99, 'Unidade', 10, '2023-08-10'),						
('11', 'Monitor 24"', 'Monitor LED Full HD de 24 polegadas', 11, 149.99, 'Unidade', 11, '2023-08-11'),						
('12', 'HD Externo 1TB', 'HD Externo portátil de 1TB', 12, 79.99, 'Unidade', 12, '2023-08-12'),						
('13', 'Drone DJI', 'Drone DJI com câmera 4K', 13, 799.99, 'Unidade', 13, '2023-08-13'),						
('14', 'Console de Jogos', 'Console de jogos de última geração', 14, 299.99, 'Unidade', 14, '2023-08-14'),						
('15', 'Fones de Ouvido Bluetooth', 'Fones de ouvido Bluetooth com estojo de carregamento', 15, 59.99, 'Unidade', 15, '2023-08-15'),						
('16', 'Projetor HD', 'Projetor HD de alta definição', 16, 499.99, 'Unidade', 16, '2023-08-16'),						
('17', 'Impressora Multifuncional', 'Impressora multifuncional com scanner', 17, 249.99, 'Unidade', 6, '2023-08-17'),						
('18', 'Notebook Ultrafino', 'Notebook ultrafino com SSD rápido', 18, 999.99, 'Unidade', 2, '2023-08-18'),						
('19', 'Mouse Gamer', 'Mouse gamer com iluminação RGB', 19, 49.99, 'Unidade', 7, '2023-08-19'),						
('20', 'Câmera de Ação', 'Câmera de ação à prova dágua', 20, 129.99, 'Unidade', 5, '2023-08-20'),						
('21', 'Tablet Profissional', 'Tablet profissional para designers', 21, 499.99, 'Unidade', 3, '2023-08-21'),						
('22', 'Monitor Curvo', 'Monitor LED curvo de 32 polegadas', 22, 299.99, 'Unidade', 11, '2023-08-22'),						
('23', 'Teclado Mecânico', 'Teclado mecânico para jogos', 23, 89.99, 'Unidade', 8, '2023-08-23'),						
('24', 'Console Portátil', 'Console de jogos portátil', 24, 199.99, 'Unidade', 14, '2023-08-24'),						
('25', 'HD Externo 2TB', 'HD Externo portátil de 2TB', 25, 109.99, 'Unidade', 12, '2023-08-25'),						
('26', 'Kit de Caixas de Som', 'Kit de caixas de som estéreo', 26, 29.99, 'Unidade', 17, '2023-08-26'),						
('27', 'Câmera de Segurança', 'Câmera de segurança com visão noturna', 27, 79.99, 'Unidade', 18, '2023-08-27'),						
('28', 'Projetor Mini', 'Projetor mini portátil', 28, 199.99, 'Unidade', 16, '2023-08-28'),						
('29', 'Impressora a Jato de Tinta', 'Impressora a jato de tinta colorida', 29, 89.99, 'Unidade', 6, '2023-08-29'),						
('30', 'Servidor de Rede', 'Servidor de rede empresarial', 30, 799.99, 'Unidade', 19, '2023-08-30'),						
('31', 'Smartphone Y', 'Smartphone de última geração', 31, 699.99, 'Unidade', 1, '2022-08-01'),						
('32', 'Notebook Avançado', 'Notebook poderoso com tela Full HD', 32, 1299.99, 'Unidade', 2, '2022-08-02'),						
('33', 'Tablet Pro', 'Tablet profissional com caneta stylus', 33, 399.99, 'Unidade', 3, '2022-08-03'),						
('34', 'TV OLED 65"', 'TV OLED 4K de 65 polegadas', 34, 899.99, 'Unidade', 4, '2022-08-04'),						
('35', 'Câmera Mirrorless', 'Câmera digital mirrorless de alta qualidade', 35, 799.99, 'Unidade', 5, '2022-08-05'),						
('36', 'Impressora Jato de Tinta', 'Impressora jato de tinta colorida', 36, 299.99, 'Unidade', 6, '2022-08-06'),						
('37', 'Mouse Bluetooth', 'Mouse Bluetooth ergonômico', 37, 29.99, 'Unidade', 7, '2022-08-07'),						
('38', 'Teclado Mecânico RGB', 'Teclado mecânico RGB para gamers', 38, 59.99, 'Unidade', 8, '2022-08-08'),						
('39', 'Fones de Ouvido Sem Fio', 'Fones de ouvido sem fio com cancelamento de ruído', 39, 169.99, 'Unidade', 9, '2022-08-09'),						
('40', 'Smartwatch Pro', 'Smartwatch com GPS e monitor de saúde', 40, 249.99, 'Unidade', 10, '2022-08-10'),						
('41', 'Monitor 27"', 'Monitor LED Quad HD de 27 polegadas', 41, 199.99, 'Unidade', 11, '2022-08-11'),						
('42', 'HD Externo 4TB', 'HD Externo portátil de 4TB', 42, 129.99, 'Unidade', 12, '2022-08-12'),						
('43', 'Drone DJI Pro', 'Drone DJI com câmera 8K', 43, 1199.99, 'Unidade', 13, '2022-08-13'),

SQLITE_CONSTRAINT_PRIMARYKEY: sqlite3 result code 1555: UNIQUE constraint failed: tabelaprodutos.Id_produto

solução!

Olá, Lais, tudo bem?

O erro (SQLITE_CONSTRAINT_PRIMARYKEY: sqlite3 result code 1555: UNIQUE constraint failed: tabelaprodutos.Id_produto) ocorre porque a coluna Id_produto é uma chave primária, e o banco de dados exige que os valores nela sejam únicos. No seu código, há entradas duplicadas para essa coluna, o que está causando a falha.

É possível que você já tenha executado esse trecho de código e os dados já foram inseridos corretamentes. Para isso basta executar o comado:

SELECT * FROM tabelaprodutos

Verifique se há dados nessa tabela.

Você também pode verifique quais IDs já estão presentes na tabela tabelaprodutos. Você pode fazer isso com:

SELECT Id_produto FROM tabelaprodutos;

Verifique se os IDs dos produtos que você está tentando inserir não estão em conflito com os IDs já existentes. Você pode precisar alterar os IDs no seu comando INSERT para garantir que são únicos.

Por exemplo, os IDs de 1 a 40 já existem na tabela, você pode começar a inserir novos produtos a partir do ID 41:

INSERT INTO tabelaprodutos
(id_produto, nome_do_produto, descricao, categoria, preco_de_compra, unidade, fornecedor, data_de_inclusao)
VALUES
(41, 'Novo Produto 1', 'Descrição do novo produto 1', 20, 99.99, 'Unidade', 20, '2023-09-01'),
(42, 'Novo Produto 2', 'Descrição do novo produto 2', 21, 199.99, 'Unidade', 21, '2023-09-02');

Espero ter ajudado e fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Já estavam lá, não acredito?!!!!! Ameeeei <3 Obrigada!