Olá, Silmara, tudo bem?
O erro FOREIGN": syntax error significa "Estrangeiro: erro de sintaxe", portanto indica que há um problema de sintaxe perto da declaração da chave estrangeira.
Note que você inseriu um ponto e vírgula antes de fechar o parêntese da declaração da chave estrangeira. No SQL, você deve terminar todas as declarações dentro da criação da tabela antes de fechar o parêntese e colocar o ponto e vírgula no final. Aqui está como seu código deve ficar:
CREATE TABLE cliente (
Numero INT PRIMARY KEY,
nome varchar(250),
descricao text,
categoria INT,
preco decimal(10,2),
unidade varchar(50),
fornecedor INT,
FOREIGN KEY (categoria) REFERENCES produtos(id)
);
Além disso, certifique de que a tabela produtos foi criada corretamente com o campo id, para evitar possível erro de referência.
Espero ter ajudado.
Qualquer dúvida, compartilhe no fórum.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!