Pular para o conteúdo

Foreign key null? [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Foreign key null? [RESOLVIDO]

Enviado em 28/07/2009 - 00:41h

Pessoal,

Tou com a seguinte duvida. Antes eu estava utlizando tabelas MyIsam que nao podia ter um foreing key. Agora tou aprendendo utilizar InnoDB.

Mas ainda ficou algumas duvidas, por exemplo:

eu tenho duas tabelas: Clientes e cidade usando MyIsam:

cliente:
- idCliente
- nome
- idCidade

Cidade
- idCidade
- nome

No cadastro pode acontecer que voce nao queira preencher a cidade do cara, logo ela vai ficar NULL.
Ai quando faco o select nao consigo retornar nenhum registro que o campo cidade nao tenha sido preenchido, pq tou usando o select assim:
SELECT * FROM cliente a, cidade b WHERE a.idCidade = b.idCidade;

Como eu faria para retornar os registros de clientes que nao tiveram sua cidade preenchida. E agora passando pra InnoDB eh possivel ter essa foreing key(idCidade) como null??

Obrigado...
Paulo

Responder tópico

2. Outer Join

Enviado em 30/07/2009 - 11:04h

Olá Paulo,

Para que a sua consulte retorne o resultado esperado, você deverá utilizar um "outer join":

SELECT *
FROM cliente a LEFT OUTER JOIN cidade b ON (a.idCidade = b.idCidade);

Sim, as foreigns keys podem ser nulas por definição

Abraços

Cbolovo

3. Re: Foreign key null? [RESOLVIDO]

Enviado em 30/07/2009 - 13:34h

Obrigado pessoal pela ajuda ;)
Funcionou o Select

Paulo

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder