Pergunta

Eu estou tentar criar uma chave estrangeira entre tabelas usando MySQL Workbench. Mas eu não sei porque eu não posso marque a caixa de seleção para selecionar um campo a fim de mapear com outro campo em outra tabela. Talvez requerem campo tem o mesmo tipo (e outras condições ??) Então você pode me dizer os critérios para criar relacionamento com chave estrangeira e como fazê-lo no MySQL Workbench?

Foi útil?

Solução

Eu não sou um usuário do MySQL Workbench, mas certifique-se que você está usando um mecanismo de armazenamento que suporta chaves estrangeiras em primeiro lugar. (Por exemplo, InnoDB)

Consulte a documentação do MySQL para os requisitos necessário para uma relação de chave estrangeira .

Outras dicas

Eu tive esse problema também. A razão que eu não poderia criar o relacionamento era como você diz os tipos não eram exatamente o mesmo. Eu tive um int não assinado como minha chave primária e um int assinado como minha chave estrangeira, de modo que o software não me permitiria criar o relacionamento. Teria sido bom se o software veio com um alerta ou algum tipo de feedback do usuário destacando-o da objeção de verificar que a caixa.

Eu tive o mesmo problema. Encontrado uma solução alternativa:

Depois de ter introduzido o nome da restrição ForeignKey e selecionados da tabela referenciada clique " próxima " sem selecionar os nomes das colunas.

Nesta etapa, você verá a criar script sql de nova restrição. Editá-lo manualmente: digite o nome da coluna referenciada e o nome de fk coluna. Em seguida, clique em Concluir. O script será executado. Para recheck tentar tabela aberta a janela alter novamente e você vai ver que a caixa de seleção coluna está marcada agora na guia chave estrangeira.

Quando você editar uma tabela no editor de diagrama EER, há um guia "Chaves Estrangeiras". Você pode definir as chaves estrangeiras entre as tabelas lá. (Workbench 5.2.36)

Eu estou enfrentando o mesmo problema com o MySQL Workbench. I têm um carvão animal (5) (na tabela 1) como minha chave primária e um outro carvão animal (5) (na tabela 2) tal como uma chave estrangeira. Mas o MySQL Workbench não vai me deixar criar o relacionamento. Eu estou usando INNODB.

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