Non puoi eliminare da una tabella e fare riferimento alla stessa tabella in una sottoquery, solo una limitazione di MySQL. Qualcosa come il seguente dovrebbe funzionare:
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'
La parte importante è USING
. Se ti unisci solo alle due tabelle, eliminerai i record da entrambe. USING
dice a MySQL di usare queste tabelle per l'elaborazione, ma di cancellarle solo dalle tabelle nel FROM
clausola.
http://dev.mysql.com/doc/refman/5.0 /it/cancella.html