Bạn không thể xóa khỏi một bảng và tham chiếu cùng một bảng trong một truy vấn con - chỉ là một hạn chế của MySQL. Một cái gì đó như sau sẽ hoạt động:
DELETE FROM table_a
USING table_a
INNER JOIN table_b
ON table_a.code = table_b.code
AND table_b.id = table_a.b_id
AND table_b.table = 'testTable'
WHERE table_a.object_id = 1
AND table_a.code = 'code'
Phần quan trọng là USING
. Nếu bạn chỉ tham gia hai bảng, bạn sẽ xóa các bản ghi khỏi cả hai. USING
yêu cầu MySQL sử dụng các bảng này để xử lý, nhưng chỉ xóa khỏi các bảng trong FROM
mệnh đề.
http://dev.mysql.com/doc/refman/5.0 /en/delete.html