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

[Dúvida] FOREIGN KEY

Eu estou tentando usar o FOREIGN KEY para criar uma chave estrangeira no meu codigo:

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);
  );

Mas o da erro "Help: SQLITE_ERROR: sqlite3 result code 1: near "FOREIGN": syntax error" e eu não estou entendendo.

1 resposta
solução!

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!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software