MySQL không tương đương với output
hoặc returning
các điều khoản được cung cấp bởi các cơ sở dữ liệu khác. Đặt cược tốt nhất của bạn là một bảng tạm thời:
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);
Sau đó, bảng bạn vừa tạo có id bạn muốn.
Lưu ý:Điều quan trọng là sử dụng bảng mới tạo để xóa. Nếu không, một chuỗi / quy trình khác có thể thay đổi dữ liệu giữa thời điểm bạn chụp id và thời điểm bạn xóa chúng.