Precisa de ajuda para configurar o relacionamento de chave estrangeira em mysql db

StackOverflow https://stackoverflow.com/questions/4258829

  •  27-09-2019
  •  | 
  •  

Pergunta

Então, eu tenho que Tabelas Innodb (produtos) e (categorias). Eu queria configurar um relacionamento entre o campo "categoria" na tabela de produtos e a "categoryID" da tabela de categorias.

Mas, ao tentar criar um FK, ele só me permitirá selecionar a chave principal "ProductsId" na tabela de produtos e mapeará para o PK "categoryId" na tabela de categorias.

Talvez eu esteja perdendo o caminho/razão para configurar uma chave estrangeira. Meus pensamentos e me diga se estou errado:

1) Era exigir que um produto fosse adicionado a uma categoria quando adicionado, a categoria deve existir ou você deve criá -lo primeiro. Você não pode remover uma categoria, a menos que execute alguma tarefa (programada ou no back -end do banco de dados) para remover os produtos de uma categoria que você deseja remover.

2) Eu esperava que o valor da categoria fosse armazenado no campo "categoria" da tabela de produtos. Então, ao exibir em minha opinião, precisaria procurar as categorias.

EDITAR:Então eu entendo que dois campos envolvidos nas chaves estrangeiras devem ser iguais, tamanho, tipos ... etc. No entanto, como vincular o produto ProductID e CategoryID em contexto ao que mencionei acima que estou querendo fazer. Quando eu criei um FK entre ProductID e CategoryId, não vou me deixar adicionar um registro de produto.

Além disso, o campo Nome da categoria e o campo da categoria do produto são do mesmo tipo, tamanho ... ETC, mas não tenho a opção de selecionar aqueles na guia Chave estrangeira?

Como devo configurá -lo para que a tabela de categorias saiba quais produtos fazem parte de cada categoria.

Foi útil?

Solução

Ok, infelizmente, devo responder às minhas próprias perguntas. A razão para a maioria dos meus problemas técnicos é porque o campo que você está tentando fazer "deve ser indexado".

A questão compreensiva que eu estava tendo era que eu precisava me livrar do campo Varchar "da categoria" real na tabela de produtos e criar um campo categoryID que teria apenas um valor que existe no campo da tabela de categorias de categoria.

Agora vou ter que fazer referência às categorias.

Pelo menos é isso que eu entendi.

Outras dicas

Se você estiver na bancada, verifique se os tipos, comprimentos e atributos de ambas as colunas envolvidos no FK são os mesmos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top