MySQL On Delete cascade

MySQL

12/11/2013

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.
Raniel Gomes

Raniel Gomes

Curtidas 1

Respostas

Felippe Tadeu

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

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
GOSTEI 0
Raniel Gomes

Raniel Gomes

12/11/2013

Isso mesmo ele exclua na tabela filha.
GOSTEI 0
Alex Lekao

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
GOSTEI 0
William

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.
GOSTEI 0
Alex Lekao

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.
GOSTEI 0
Raniel Gomes

Raniel Gomes

12/11/2013

Obrigado amigos pela dica, fico grato.
GOSTEI 0
Alex Lekao

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

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
POSTAR