Anda tidak dapat menghapus dari tabel dan mereferensikan tabel yang sama dalam subkueri — hanya batasan MySQL. Sesuatu seperti berikut ini akan berfungsi:
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'
Bagian yang penting adalah USING
. Jika Anda hanya menggabungkan dua tabel, Anda akan menghapus rekaman dari keduanya. USING
memberitahu MySQL untuk menggunakan tabel ini untuk diproses, tetapi hanya menghapus dari tabel di FROM
klausa.
http://dev.mysql.com/doc/refman/5.0 /en/delete.html