Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

tabelacategoria

Primeiramente ressalto que estou usando o sqlitestudio ao invez do sqliteonlina.

A tabelacategoria foi criada com o seguinte código:

CREATE TABLE tabelacategorias (
  ID_Categoria INT PRIMARY KEY,
  Nome_Categoria VARCHAR (250),
  Descricao_Categoria TEXT
)

Não foi inserido nenhuma categoria na tabelacategorias.

A tabelprodutos referencia através da coluna Categoria a tabelacategoria da seguinte forma: FOREIGN KEY (Categoria) REFERENCES tabelacategorias (id_categoria),

Percebe-se que há incompatibilidade nas referencias. id_categoria da tabelaprodutos é diferente de ID_Categoria da tabelacategoria.

Alterei o nome da coluna da tabelacategorias de ID_Categoria para id_categoria.

Mas mesmo não foi inserir dados na tabelaprodutos. O seguinte erro é retornado:

[08:53:06] Erro ao executar consulta SQL no banco de dados 'curso2': FOREIGN KEY constraint failed

Acredito que o erro está ocorrendo porque não foram inseridas categorias na tabelacategorias . Ela foi apenas criada e está vazia.

Quando eu tento inserir elementos na tabelaprodutos da erro provavelmente ocasionando por não ser possível preencher a coluna Categoria que referencia uma coluna que está vazia da tabelacategorias.

Não achei no conteúdo das aulas inserção de elmentos na tabelacategorias.

Poderiam me informar se foi inserido elementos na tabelacategorias ou se é possível inserir elementos na tabelaprodutos sem haver elementos na tabelacategorias?

1 resposta
solução!

Olá, Orlando.

Tudo bem?

O erro parece estar relacionado à chave estrangeira. Você está correto ao supor que o erro ocorre porque a tabela tabelacategorias está vazia. Para que a inserção na tabelaprodutos funcione corretamente, é necessário que a chave estrangeira Categoria faça referência a um valor existente na tabelacategorias.

Vamos tentar resolver isso inserindo alguns dados na tabelacategorias primeiro. Aqui está um exemplo de como você pode fazer isso:

INSERT INTO tabelacategorias (id_categoria, Nome_Categoria, Descricao_Categoria) VALUES
(1, 'Eletrônicos', 'Dispositivos eletrônicos e gadgets'),
(2, 'Livros', 'Livros de diversos gêneros'),
(3, 'Roupas', 'Vestuário e acessórios');

Depois de inserir essas categorias, você poderá inserir dados na tabelaprodutos sem problemas. Aqui está um exemplo de inserção na tabelaprodutos:

INSERT INTO tabelaprodutos (ID_Produto, Nome_do_Produto, Descrição, Categoria, Preco_de_Compra, Unidade, Fornecedor, Data_de_Inclusao) VALUES
(1, 'Smartphone', 'Smartphone de última geração', 1, 1500.00, 'Unidade', 1, '2023-10-01'),
(2, 'Livro de SQL', 'Guia completo de SQL', 2, 50.00, 'Unidade', 2, '2023-10-02');

Note que o valor da coluna Categoria deve corresponder a um id_categoria existente na tabelacategorias. No exemplo acima, estamos usando 1 para 'Eletrônicos' e 2 para 'Livros'.

Espero ter entendido e conseguido ajudar. Qualquer dúvida manda aqui. Bons estudos!