Foreign key null? [RESOLVIDO]

1. Foreign key null? [RESOLVIDO]

Paulo Camboim
paulocamboim

(usa Slackware)

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


  


2. Outer Join

Godofredo Augusto Soares
cbolovo

(usa Debian)

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]

Paulo Camboim
paulocamboim

(usa Slackware)

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

Obrigado pessoal pela ajuda ;)
Funcionou o Select

Paulo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts