se o endereço for deletado tudo será deletado sim, mas o que eu quero é que quando o motorista for deletado o endereço também suma. Seria ao contrario do que está acontecendo, porque não tem nenhum valor que eu possa pegar como base pra buscar o motorista, entao eu estou usando:
delete from motorista where nome_motorista=?
teria alguma outra solução para isto?
charleston10
Esclarece uma dúvida, então cada endereço está relacionado a um motorista, ou seja, cada motorista tem somente um endereço?
Se assim for, se o motorista não existir, aquele endereço não existe…
seria isso mesmo?
E
ene1
charleston10:
Esclarece uma dúvida, então cada endereço está relacionado a um motorista, ou seja, cada motorista tem somente um endereço?
Se assim for, se o motorista não existir, aquele endereço não existe…
seria isso mesmo?
sim, isso mesmo.
Se o endereço não existir o motorista que está ligado a aquele também não existe e vice-versa.
charleston10
Oxi, então cria um campo de identificação do motorista na tabela endereço e relaciona como chave estrangeira esse campo…
então vc usa cascade na refenrecia
;]
E
ene1
charleston10:
Oxi, então cria um campo de identificação do motorista na tabela endereço e relaciona como chave estrangeira esse campo…
então vc usa cascade na refenrecia
;]
olá, entendi mais ou menos o que voce falou, mas como seria isso falandoo em termos de codigo? como seria essa consulta?
Lembrando que busco o campo usando o nome_motorista.
charleston10
Errado
Vc nao pode fazer isso, pq qual campo que identifica o motorista, o codigo dele ou o nome dele?
Se for o nome, entao vc tem que concordar que pode ter nomes iguais, e ai vai da erro… pq nomes iguais com endereços diferentes…
Em termos de código, vc adiciona um campo na tabela endereço com o nome codigo_motorista
pra vc fazer essa relaçao…
Vc nao pode fazer isso, pq qual campo que identifica o motorista, o codigo dele ou o nome dele?
Se for o nome, entao vc tem que concordar que pode ter nomes iguais, e ai vai da erro… pq nomes iguais com endereços diferentes…
Em termos de código, vc adiciona um campo na tabela endereço com o nome codigo_motorista
pra vc fazer essa relaçao…
não se preocupe com os dados, ja to pensando em outra forma de buscar, mas o meu problema é justamente isso, seria tipo uma consulta e um delete no mesmo tempo.
porque preciso que seja um select e um delete junto, e sendo assim se fosse fazer com essa referência que você falou teria que pensar ja na parte de programação pra pegar o valor do cod motorista e adicionar na tabela endereco e queria que só fosse em sql por ser mais simples…
ficaria algo assim: select * from motorista m inner join endereco e on (m.cod_motorista=e.cod_motorista) where m.cod_motorista=?
mas e o delete?
charleston10
//mostra todos os dados do motorista juntamente com o endereçoSELECT*FROMmotoristamINNERJOINenderecoeONe.codigo_endereco=m.codigo_enderecoWHEREm.codigo_motorista=1//automaticamente o endereço sera deletadoDELETEFROMmotoristaWHEREcodigo_motorista=1
Quando voce trabalha com relacionamento de tabelas, os SQLs são simples, é que parecem ser complicados, mas só vc entender.. é fácil
é q vc nao viu consultas de 900 linhas... hahhah
E
ene1
charleston10:
//mostra todos os dados do motorista juntamente com o endereçoSELECT*FROMmotoristamINNERJOINenderecoeONe.codigo_endereco=m.codigo_enderecoWHEREm.codigo_motorista=1//automaticamente o endereço sera deletadoDELETEFROMmotoristaWHEREcodigo_motorista=1
Quando voce trabalha com relacionamento de tabelas, os SQLs são simples, é que parecem ser complicados, mas só vc entender.. é fácil
é q vc nao viu consultas de 900 linhas... hahhah
olá, resolvi o problema apesar de ter usado uma solução diferente.