テーブルから削除して、サブクエリで同じテーブルを参照することはできません。MySQLの制限にすぎません。次のようなものが機能するはずです:
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'
重要な部分はUSING
。 2つのテーブルを結合するだけで、両方からレコードが削除されます。 USING
MySQLにこれらのテーブルを処理に使用するように指示しますが、FROM
のテーブルからのみ削除します 条項。
http://dev.mysql.com/doc/refman/5.0 /en/delete.html