MySQL har inte motsvarigheten till output
eller returning
klausuler som tillhandahålls av andra databaser. Din bästa insats är ett tillfälligt bord:
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);
Sedan har tabellen du just skapat de ID du vill ha.
Obs:Det är viktigt att använda den nyskapade tabellen för raderingen. Annars kan en annan tråd/process ändra data mellan det att du fångar in ID:n och det att du tar bort dem.