MySQL On Delete cascade
Olá pessoal olha eu aqui de novo, bem minha dúvida é sobre um relacionamento, entre duas tabelas é assim eu tenho duas tabelas:
Servicos:
Colunas: Id,IdCliente,Descricao,Status.
Clientes:
Colunas: Id,Nome,CPF,Email,Telefone,Celular,Usuario,Senha.
fiz o relacionamento assim (1,1) Tabela PAI(Cliente) -> Filha(Servicos) onde o campo (IdCliente) faz referência ao campo (Id) da tabela clientes, no meu caso está salvando direitinho, más se por exemplo eu quiser excluir o meu "Cliente" vai dar um erro, queria saber a melhor maneira possível de solucionar esse problema fico no aguardo abraço.
Servicos:
Colunas: Id,IdCliente,Descricao,Status.
Clientes:
Colunas: Id,Nome,CPF,Email,Telefone,Celular,Usuario,Senha.
fiz o relacionamento assim (1,1) Tabela PAI(Cliente) -> Filha(Servicos) onde o campo (IdCliente) faz referência ao campo (Id) da tabela clientes, no meu caso está salvando direitinho, más se por exemplo eu quiser excluir o meu "Cliente" vai dar um erro, queria saber a melhor maneira possível de solucionar esse problema fico no aguardo abraço.
Raniel Gomes
Curtidas 1
Respostas
Felippe Tadeu
12/11/2013
Teria a possibilidade de vc excluir o histórico de serviços do cliente ou vc pretende manter eles ?
GOSTEI 0
Alex Lekao
12/11/2013
Ola Bom dia!!!
Vc quer que mando o seu cliente seja excluido a tabela filha exclua os registros relacionado ao cliente ou que apenas marque null no campo?
o que vc quer especificamente, e seria interessante postar o erro.
Abraco.
Alex - Lekao
Vc quer que mando o seu cliente seja excluido a tabela filha exclua os registros relacionado ao cliente ou que apenas marque null no campo?
o que vc quer especificamente, e seria interessante postar o erro.
Abraco.
Alex - Lekao
GOSTEI 0
Raniel Gomes
12/11/2013
Isso mesmo ele exclua na tabela filha.
GOSTEI 0
Alex Lekao
12/11/2013
entao, se nao me engano vc tera que colocar no references on delete cascade.
Mas infelizmente nao tenho certeza, lembro de ter visto alguma coisa antes.
faz um teste e posta ai se da certo.
Abraco.
Alex - Lekao
Mas infelizmente nao tenho certeza, lembro de ter visto alguma coisa antes.
faz um teste e posta ai se da certo.
Abraco.
Alex - Lekao
GOSTEI 0
William
12/11/2013
O colega Alex está correto, você pode utilizar o "ON DELETE CASCADE" na declaração da sua FK na tabela de Serviços, nesse caso se o cliente for excluído da tabela Clientes todas os serviços do mesmo serão excluídos da tabela Serviços.
Observação: Pessoalmente não acho isso uma boa prática, só ser você estiver fazendo isso como teste, pois você perde a consistência do banco de dados, além de perder todo o histórico daquele cliente, essas informações servem até para se fazer um marketing e conhecer mais o cliente.
Observação: Pessoalmente não acho isso uma boa prática, só ser você estiver fazendo isso como teste, pois você perde a consistência do banco de dados, além de perder todo o histórico daquele cliente, essas informações servem até para se fazer um marketing e conhecer mais o cliente.
GOSTEI 0
Alex Lekao
12/11/2013
Oi Bom dia!!!
Sim, isso que o Willian comentou eh uma verdade.
Particularmente nao gosto de se eliminar cadastros, nao acho uma boa pratica, acho melhor que se utilize uma opcao de inativacao ou algo do tipo, acho melhor que deletar.
Sim, isso que o Willian comentou eh uma verdade.
Particularmente nao gosto de se eliminar cadastros, nao acho uma boa pratica, acho melhor que se utilize uma opcao de inativacao ou algo do tipo, acho melhor que deletar.
GOSTEI 0
Raniel Gomes
12/11/2013
Obrigado amigos pela dica, fico grato.
GOSTEI 0
Alex Lekao
12/11/2013
Obrigado amigos pela dica, fico grato.
Sem problemas Raniel...
Precisando eh so falar...
estamos ai pra isso mesmo... rssr
Abraco.
Alex - Lekao
GOSTEI 0
William
12/11/2013
Entendo que a dúvida foi sanada, estou encerrando esse tópico, para manter a organização do fórum!
GOSTEI 0