PHP-MySQL: Apagar registros em 2 tabelas com apenas 1 comando DELETE
Vamos a mais um post, com uma dica bem legal.
Precisei esses dias excluir os registros de 2 tabelas que continham o mesmo campo.
IMPORTANTE: AS 2 tabelas devem possuir dados para o DELETE funcionar.
Vamos a solução!
Modelo da estrutura das tabelas:
Tabela: Produtos
id_produto
titulo_produto
descricao_produto
Tabela: Fotos
id_foto
descricao_foto
id_produto
Podemos observar que as tabelas tem em comum o campo id_produto. Baseando-se nessa informação vamos montar nosso script.
O comando abaixo simplifica a forma de exclusão dos dados, ao invés de usar DELETEs separados.
<? $ID = (int) $_POST['id_produto']; $sql = "DELETE produtos.*, fotos.* FROM produtos, fotos WHERE produtos.id_produto = '".$ID."' AND fotos.id_produto = '".$ID."'"; mysql_query($sql) or die(mysql_error()); ?> |
outro exemplo:
$sql = mysql_query(" DELETE FROM tabela1, tabela2, tabela3 USING tabela1 INNER JOIN tabela2 INNER JOIN tabela3 WHERE tabela1.id = tabela2.id AND tabela2.id = tabela3.id AND tabela1.id = '$id'"); |
Até a próxima!
Esse código é muito importante,
com certeza um dia ou outro iremos precisar
Parabéns pela dica
Muito bom! me ajudou muito.
Parabéns pela dica.