Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NoBruCff

Deletar registros de tabelas diferentes

Recommended Posts

Aew sou novo akie gostaria de saber como q usa o comando Delete no mysql pra deletar registros de 2 tabelas sem ter q usar 2 deletetem como fazer isso em 1 delete soh ??por exemplo.. tenho 2 delete:delete from tab1 where id = 2; delete from tab2 where id = 2;ah alguma forma de colocar esse delete em 1 soh .. como c usa no Select ?pra qndo deletar de uma tabela ja detar os dados relacionados da outra ??ps: estou fazendo em c#Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ae, seja bem-vindo!O tipo da tabela é MyIsam? Se for InnoDB você pode fazer o relacionamento.No caso do MyIsam se não me engano até o momento ná há relacionamento, pode até conseguir criar mas não vai funcionar, pelo menos nos testes que fiz eheheVamos ver se entendi, estas duas tabelas tem um campo em comum para relacionamento, então se deletar do tab1 deve-se excluir automaticamente do tab2?Se sim, dá p/ fazer isso:DELETE tab1.*, tab2.*FROM tab1 INNER JOIN tab2 ON tab2.id = tab1.idWHERE tab1.id = 2Neste caso está deletando do tab1 e tab2.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, vlew por responder, eu nao entendo mto disso por isso as duvidas rseu entendi isso:DELETE FROM tab_teste INNER JOIN tab_sessao_tstON tab_sessao_tst.id_teste = tab_teste.id_teste WHERE tab_teste.id_teste = 3;mas deu um erro usando oq você falo:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN tab_sessao_tstON tab_sessao_tst.id_teste = tab_teste.id_teste WHERE' at line 1isto seria a versao do meu mysql ???verso 1.2.2obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum...

faltou especificar de qual tabela os registros serão excluídos, quando não se usa JOIN na expressão DELETE realmente não precisa informar, mas neste caso creio que faltou isto:

DELETE tab_teste.*, tab_sessao_tst.* FROM tab_teste INNER JOIN tab_sessao_tst

ON tab_sessao_tst.id_teste = tab_teste.id_teste WHERE tab_teste.id_teste = 3

Versão 1.2.2?

Rapaz... tem que ver isso direitim, executa isso:

SELECT VERSION()

p/ saber a versão.

Qquer coisa posta ae!

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cassitos,Do mesmo jeito q apareceu o problema do delete em 2 tabelaspreciso fazer um insert em 2 tabelasporem não sei como, pois desconheço c tem JOin em insertalguem poderia me ajudar ??obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tiozinho nao precisa fllodar o topico

Compartilhar este post


Link para o post
Compartilhar em outros sites

interessante esse inner join no delete nunca tinha tentado, mas tb nunca precisei unir 2 dleetes, prefiro faze-los separadamente mesmo para naum ocorrer nenhum erro xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum...

faltou especificar de qual tabela os registros serão excluídos, quando não se usa JOIN na expressão DELETE realmente não precisa informar, mas neste caso creio que faltou isto:

DELETE tab_teste.*, tab_sessao_tst.* FROM tab_teste INNER JOIN tab_sessao_tst

ON tab_sessao_tst.id_teste = tab_teste.id_teste WHERE tab_teste.id_teste = 3

flw

 

 

Olá a todos!

Seguindo a orientação de "cassitos" para deletar dois registros de tablas distintas, gostaria de saber qual a sintaxe para DELETAR 6 registros em tabelas diferentes, porém todas elas tendo em comum a chaves estrageiras que fazem referência ao ID do usuário.

A razão para isso é que quando eu quiser deletar um usuário, gostaria que todos os registros referenciados a esse usuário, em outras tabelas, também seja apagadas.

 

Agradeço antecipadamente a atenção e ajuda.

 

Cleber

Compartilhar este post


Link para o post
Compartilhar em outros sites

cleberSM

Só colocar no final da query LIMIT 6

 

 

Olá Leandromx!

Acho que eu não me expressei corretamente:

a sintaxe é para DELETAR 6 registros, sendo cada registro pertencente a uma tabela diferente.

Cada tabela tem um campo chave estrangeira que faz referência ao ID da tabela usuário.

Assim, quando eu deletar um usuário, gostaria que nas demais tabelas onde consta o ID desse usuário na chave estrangeira, esses registros também fossem excluidos.

 

Grato mais uma vez!

 

Cleber

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.