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!