MySQL няма еквивалента на output
или returning
клаузи, предоставени от други бази данни. Най-добрият ви залог е временна маса:
CREATE TABLE TheDeletedIds as
SELECT t1.id
FROM t1 LEFT JOIN
t2
ON t1.t2_id = t2.id
WHERE t2.id IS NULL OR t2.is_valid = false;
DELETE t1
FROM t1
WHERE t1.id IN (SELECT id FROM TheDeletedIds);
Тогава таблицата, която току-що създадохте, има идентификаторите, които искате.
Забележка:Важно е да използвате новосъздадената таблица за изтриването. В противен случай друга нишка/процес може да промени данните между момента на заснемане на идентификаторите и момента, в който ги изтриете.