Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

ERRO tabelafornecedores

CREATE TABLE tabelaprodutos (
ID_Produto INT PRIMARY KEY,
Nome_Produto VARCHAR (250),
Descrião TEXT,
Categoria INT,
Preço_de_compra DECIMAL (10,2),
Unidade Varchar (50),
Fornecedor INT,
Data_de_Inclusão DATE,
FOREIGN key (Categoria) REFERENCES TabelaCategorias (id_categoria),
FOREIGN key (Fornecedores) REFERENCES tabelafornecedores (ID)
);

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Eudes, como vai?

Na criação da tabela tabelaprodutos, você declarou a coluna como Fornecedor:

Fornecedor INT,

Porém, na definição da chave estrangeira, está utilizando Fornecedores, no plural:

FOREIGN KEY (Fornecedores) REFERENCES tabelafornecedores (ID)

Como essa coluna Fornecedores não foi criada na tabela tabelaprodutos, o SQLite não consegue encontrá-la e apresenta o erro unknown column "Fornecedores" in foreign key definition. Nesse caso, basta utilizar o mesmo nome que foi declarado anteriormente:

FOREIGN KEY (Fornecedor) REFERENCES tabelafornecedores (ID)

Assim, a coluna Fornecedor da tabela tabelaprodutos passa a ser a chave estrangeira que referencia a coluna ID da tabela tabelafornecedores. Também vale observar que Categoria está seguindo essa mesma lógica, pois foi declarada e depois utilizada na FOREIGN KEY.

Se surgir outra dúvida durante a atividade, o fórum está à disposição para ajudar. Bons estudos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!