:: DEVELOPER ZONE
Como o MySQL não suporta subconsultas (antes da versão 4.1), enm o uso de
mais de uma tabela na instruçao DELETE (antes da versão 4.0), você
deve usar a seguinte abordagem para deletar linhas de 2 tabelas relacionadas:
SELECT as linhas baseado em alguma condição WHERE na tabela principal.
DELETE as linhas da tabela princiapl basada nas mesmas condições.
DELETE FROM tabela_relacionada WHERE coluna_relacionada IN (linhas_selecionadas).
Se o número total de caracteres na consulta com colunas_relacionadas
é maior que 1,048,576 (o valor padrão de max_allowed_packet, você
deve separá-lo em duas partes menores e executar múltiplas instruções
DELETE. Você provavelmente obterá o DELETE mais rápido apenas
delatando 100-1000 ids de colunas_relacionadas por consulta se
colunas_relacionadas é um índice. Se colunas_relacionadas não
é um índice, a velocidadi é independente do número de argumentos na cláusula
IN.
© 1995-2005 MySQL AB. All rights reserved.
