NoBruCff 0 Denunciar post Postado Setembro 29, 2006 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
cassitos 2 Denunciar post Postado Setembro 29, 2006 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
NoBruCff 0 Denunciar post Postado Setembro 29, 2006 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
cassitos 2 Denunciar post Postado Setembro 29, 2006 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
NoBruCff 0 Denunciar post Postado Setembro 29, 2006 Ah ta .. achei q nao precisava colocar.agora deu certovalew =P Compartilhar este post Link para o post Compartilhar em outros sites
NoBruCff 0 Denunciar post Postado Outubro 2, 2006 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
Mário Monteiro 179 Denunciar post Postado Outubro 2, 2006 Tiozinho nao precisa fllodar o topico Compartilhar este post Link para o post Compartilhar em outros sites
Suissa 1 Denunciar post Postado Outubro 2, 2006 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
clebersm 0 Denunciar post Postado Outubro 20, 2009 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
Leandromx 0 Denunciar post Postado Outubro 20, 2009 cleberSM Só colocar no final da query LIMIT 6 Compartilhar este post Link para o post Compartilhar em outros sites
clebersm 0 Denunciar post Postado Outubro 20, 2009 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
giesta 29 Denunciar post Postado Outubro 20, 2009 ON DELETE CASCADE, mas isso vem da estrutura da tabela Compartilhar este post Link para o post Compartilhar em outros sites