1
resposta

Criacao de chave estrangeira

o código para criaçao da tabela foi esse:

CREATE TABLE produtos (
    id INT PRIMARY KEY,
    nome VARCHAR(255),
    descricao TEXT,
    categoria INT,
    preco DECIMAL(10, 2),
    unidade VARCHAR(50),
    fornecedor INT,
    data_inclusao DATE
)

essa coluna (fornecedor INT) já nao poderia ser uma chave estrangeira? Caso nao possa, por que nao?

1 resposta

Olá, João! Tudo bem?

A coluna fornecedor INT que você mencionou na tabela produtos realmente seria uma boa candidata a chave estrangeira. Mas, o SQLite possui uma limitação: não é possível modificar uma coluna existente para se tornar uma chave estrangeira utilizando ALTER TABLE.

No SQLite, a forma correta de adicionar uma chave estrangeira em uma tabela já existente é criando uma nova coluna já com a referência, como no exemplo abaixo:

ALTER TABLE produtos 
ADD COLUMN fk_fornecedor INTEGER 
REFERENCES tabelafornecedores(id);

Espero que isso tenha esclarecido sua dúvida.

Qualquer coisa, é só chamar no fórum!

Abraços e bons estudos!

Se este post te ajudou, por favor, marque como solucionado ✓. Bons estudos!