Мне нужно удалить определенные строки из таблицы. Какие строки должны быть удалены, я узнаю с помощью запроса. Однако, вы не можете выполнять обе операции (выбрать и удалить) в тот же запрос:
В настоящее время вы не можете удалить из таблицы и выбрать из той же таблицы в подзапросе.
Поэтому я не могу сделать это:
DELETE
FROM telefono
WHERE telefono_id IN (
SELECT te.telefono_id
FROM telefono te
LEFT JOIN centro_telefono ce ON te.telefono_id=ce.telefono_id AND ce.telefono_id IS NOT NULL
LEFT JOIN contacto_telefono co ON te.telefono_id=co.telefono_id AND co.telefono_id IS NOT NULL
WHERE COALESCE(ce.telefono_id, co.telefono_id) IS NULL AND te.fecha_alta < DATE_SUB(NOW(), INTERVAL 1 DAY)
);
-- SQL Error (1093): You can't specify target table for update in FROM clause
Как я могу реализовать эту очистку записи в чистом MySQL?
На сервере работает MySQL 5.1.39.