Bạn có thể bọc nó trong một truy vấn con như vậy. Vấn đề là MySQL không thể cập nhật các hàng mà nó cũng đang truy vấn. Điều này sẽ làm cho MySQL sử dụng một bảng tạm thời để lưu trữ id bạn muốn xóa.
DELETE FROM tasks
WHERE tasks.id IN
(
SELECT id FROM
(
SELECT tasks.id
FROM tasks
JOIN deadlines ON deadlines.id = deadline_id
WHERE DATE_ADD(tasks.created_at, INTERVAL deadlines.duration DAY) <= NOW()
) AS taskstodelete
)