Olá James, tudo bem com você?
Havia um equívoco no exercício. Em SQLite, a sintaxe para adicionar uma chave estrangeira a uma tabela já existente consiste em adicionar uma nova coluna na tabela que será a chave estrangeira.
Ou seja, para relacionar a tabela produtos com a tabela fornecedores, devemos adicionar uma nova coluna à tabela produtos que será a chave estrangeira, referenciando o campo id na tabela fornecedores.
Exemplo:
ALTER TABLE produtos
ADD COLUMN fk_fornecedor INTEGER
REFERENCES tabelafornecedores(id);
Nesta instrução:
ALTER TABLE produtos informa que queremos alterar a estrutura da tabela produtos.ADD COLUMN fk_fornecedor adiciona uma nova coluna chamada fk_fornecedor à tabela produtos. Este será o campo que armazenará a chave estrangeira.INTEGER especifica o tipo de dados da nova coluna.REFERENCES tabelafornecedores(id) indica que a nova coluna fk_fornecedor na tabela produtos é uma chave estrangeira que faz referência ao campo id na tabela fornecedores.
Para verificar se a chave estrangeira foi criada corretamente, use a sintaxe a seguir. que irá listar todas as restrições de chave estrangeira na tabela produtos:
PRAGMA foreign_key_list(produtos);
O exercício do curso foi corrigido.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!