Oi, alguém sabe como fazer na hora de excluir um registro de uma tabela que tenha ligação com outras, como fazer para ligar os códigos e excluir o código da outra tabela também.
Exemplo :
Eu tenho as tabelas bairro, cidade e clientes.
Quando eu excluir um bairro ou uma cidade eu tenho que fazer uma maneira de os códigos referentes ao bairro e/ou cidade da tabela cliente receber o código da tabela bairro ou cidade que está cadastrado um registro vazio.
Como fazer isso.
Muito obrigada
Problema Na Exclusão
Started By camis, 10/06/2003, 21:15
1 reply to this topic
#1
Posted 10/06/2003, 21:15
#2
Posted 10/06/2003, 23:31
Oi, camis... Como vai?
O q vc precisa fazer é quase o q eu te falei pra fazer qdo vc desejar apagar todos os registros ligados ao certo dado a ser apagado em outra tabela. Mas agora, ao invés d vc apagar da tabela clientes todos os clientes associados ao bairro (no caso d vc querer excluir um bairro) q está sendo apagado, vc vai editar todos os clientes q estão associados a este bairro.
Vou mostrar na prática como é. Vou apenas colocar o exemplo d vc querer apagar um bairro. Com a cidade vai ser igual... Veja isto:
Neste exemplo, colocarei poucos campos nas tabelas, pra ficar mais fácil d se entender. A tabela "bairros" tem os campos "id" e "bairro", apenas. A tabela "clientes" possui os campos "id", "cliente" e "bairroid". O campo "bairroid" é q liga o cliente ao bairro ao qual ele pertence. Portanto, qdo vc quiser apagar algum bairro e quiser ainda q todos os clientes q possuem uma relação com este bairro fiquem sem relação com algum bairro, basta vc fazer assim: antes de apagar na tabela "bairros" o bairro cujo "id" é o desejado a ser apagado, vc vai editar a tabela "clientes", alterando todos os campos q possuem relação com o bairro desejado e colocando o valor do campo "bairroid" para estes clientes como sendo 0. Pois não existirá um bairro com este "id", então será uma relação inexistente.
Na prática ficaria assim:
O bairro que será apagado possui número de "id"=X. Então o processo é:
UPDATE clientes SET bairroid=0 WHERE bairroid=X;
DELETE FROM bairros WHERE id=X;
Ou seja... Primeiro se altera a tabela "clientes", retirando a ligação dos clientes com este bairro q será apagado. Depois se apaga tal bairro.
Espero ter ajudado. Espero q seja isto q vc queria. Se vc tiver alguma dúvida, ou se algo não ficou mto claro, basta perguntar!
Um abraço,
Thales Medeiros.
O q vc precisa fazer é quase o q eu te falei pra fazer qdo vc desejar apagar todos os registros ligados ao certo dado a ser apagado em outra tabela. Mas agora, ao invés d vc apagar da tabela clientes todos os clientes associados ao bairro (no caso d vc querer excluir um bairro) q está sendo apagado, vc vai editar todos os clientes q estão associados a este bairro.
Vou mostrar na prática como é. Vou apenas colocar o exemplo d vc querer apagar um bairro. Com a cidade vai ser igual... Veja isto:
Neste exemplo, colocarei poucos campos nas tabelas, pra ficar mais fácil d se entender. A tabela "bairros" tem os campos "id" e "bairro", apenas. A tabela "clientes" possui os campos "id", "cliente" e "bairroid". O campo "bairroid" é q liga o cliente ao bairro ao qual ele pertence. Portanto, qdo vc quiser apagar algum bairro e quiser ainda q todos os clientes q possuem uma relação com este bairro fiquem sem relação com algum bairro, basta vc fazer assim: antes de apagar na tabela "bairros" o bairro cujo "id" é o desejado a ser apagado, vc vai editar a tabela "clientes", alterando todos os campos q possuem relação com o bairro desejado e colocando o valor do campo "bairroid" para estes clientes como sendo 0. Pois não existirá um bairro com este "id", então será uma relação inexistente.
Na prática ficaria assim:
O bairro que será apagado possui número de "id"=X. Então o processo é:
UPDATE clientes SET bairroid=0 WHERE bairroid=X;
DELETE FROM bairros WHERE id=X;
Ou seja... Primeiro se altera a tabela "clientes", retirando a ligação dos clientes com este bairro q será apagado. Depois se apaga tal bairro.
Espero ter ajudado. Espero q seja isto q vc queria. Se vc tiver alguma dúvida, ou se algo não ficou mto claro, basta perguntar!
Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)