Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Duas FK pra uma PK


Thayse

Question

Boa tarde pessoal.

Estou usando MySQL e precisava fazer um relacionamento onde duas FK de uma mesma tabela se relaciona com um PK de outra.

Uma exemplo simples é:

tbPessoas

id | nome | idUserCadastrou | idUserAlterou

1 teste 1 2

tbUser

id | nome

1 user1

2 user2

Na tabela pessoas o campo idUserCadastrou precisa relacionar com "id" da tbUser,

e o campo idUserAlterou da tbPessoas também precisa relacionar com "id" da tbUser

Ai temos duas FK na mesma tabela se relacionando com uma PK de outra.

Isso é possível? Como?

Só consigo fazer o primeiro relacionamento:

ALTER TABLE `tbPessoas`

ADD CONSTRAINT `fk_pessoas_user_cad` FOREIGN KEY (`idUserCad`) REFERENCES `tbUser` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

O segundo pra linkar o outro campo da erro.

ALTER TABLE `tbPessoas`

ADD CONSTRAINT `fk_pessoas_user_alt` FOREIGN KEY (`idUserAlt`) REFERENCES `tbUser` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

:unsure:

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
Eu já uso o SQL Yog pra gerenciamento do bd.

Precisava era saber se tem como linkar duas FK com uma PK como demonstrei, como ficaria o script pra isso?

Faça assim:

SELECT p.nome, ucad.nome, ualt.nome
FROM tbPessoas p
INNER JOIN tbUser ucad ON ucad.id = p.idUserCadastrou 
INNER JOIN tbUser ualt ON ualt.id = p.idUserAlterou

Link to comment
Share on other sites

  • 0

O que eu não estava conseguinda era criar o relacionamento entre as tabelas

"ALTER TABLE tabela ADD CONSTRAINT ..... "

Mas já descobri o que era...

Eu criei as tabelas com letras maiúsculas e minúsculas alternadas...

mas na hora de fazer o alter table pra criar o relacionamento

eu tinha que colocar tudo em minúsculo, mesmo que eu tenha criado em maiúsculo.... <_<

Mas obrigada pelas respostas. :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...