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 na criacao da Tabela

Não entendi o erro na criação da tabela abaixo:

CREATE TABLE tabela_produtos (
ID_PRODUTO INT PRIMARY key,
Nome_Produto VARCHAR (250),
Descricao TEXT,
Categoria INT,
Preco_de_Compra DECIMAL (10,2),
Unidade VARCHAR (50),
Fornecedor INT,
Data_Inclusao DATE,
FOREING KEY (CATEGORIA) REFERENCES tabela_categorias (id_categoria),
FOREING KEY (Fornecedor) REFERENCES tabelafornecedores (id)
);

** Erro**

SQLite
SQLITE_ERROR: sqlite3 código de resultado 1: próximo a "CATEGORIA": erro de sintaxe

1 resposta

Olá, Ernane, como vai?

O erro está na escrita de FOREIGN. No seu código, você colocou FOREING KEY, com o N e o G em posições diferentes. O comando correto é FOREIGN KEY. Por isso, o SQLite não consegue interpretar essa instrução e indica um erro.

Corrigindo esse ponto, o código fica assim:

CREATE TABLE tabela_produtos (
  ID_PRODUTO INT PRIMARY KEY,
  Nome_Produto VARCHAR(250),
  Descricao TEXT,
  Categoria INT,
  Preco_de_Compra DECIMAL(10,2),
  Unidade VARCHAR(50),
  Fornecedor INT,
  Data_Inclusao DATE,
  FOREIGN KEY (Categoria) REFERENCES tabela_categorias (id_categoria),
  FOREIGN KEY (Fornecedor) REFERENCES tabelafornecedores (id)
);

Também vale conferir se as tabelas tabela_categorias e tabelafornecedores já foram criadas e se nelas existem as colunas id_categoria e id, respectivamente. A chave estrangeira precisa apontar para uma coluna existente na tabela relacionada.

Continue praticando e, caso apareça alguma outra dúvida durante a atividade, o fórum está à disposição.

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