Tôi đang cố gắng xóa bản ghi từ một cơ sở dữ liệu dựa trên tiêu chí lựa chọn của một cơ sở dữ liệu khác. Chúng tôi có hai bảng, emailNotification lưu trữ một danh sách các công việc và email. Sau đó chúng ta có việc làm. Tôi muốn xóa emailThông báo cho các công việc đã bị đóng. Tôi đã tìm thấy một số ví dụ trước đó về Stackoverflow dẫn tôi đến loại cú pháp này (trước đây tôi đã cố gắng thực hiện phép nối trước vị trí).Xóa khỏi một bảng với tham gia
DELETE FROM emailNotification
WHERE notificationId IN (
SELECT notificationId FROM emailNotification e
LEFT JOIN jobs j ON j.jobId = e.jobId
WHERE j.active = 1
)
Tôi gặp lỗi, bạn không thể chỉ định bảng 'emailNotication' của mục tiêu để cập nhật trong Điều khoản FROM.
Từ http://dev.mysql.com/doc/refman/5.0/en/delete.html: Hiện tại, bạn không thể xóa khỏi bảng và chọn từ cùng một bảng trong truy vấn con, hãy xem câu trả lời của tôi bên dưới –