Ваше первое условие соединения выглядит неправильно, и вы, вероятно, намеревались это сделать:
DELETE client_accounts, ct_trans, ct_update
FROM client_accounts
LEFT JOIN ct_trans ON client_accounts.ct_id = ct_trans.client_id
LEFT JOIN ct_update ON client_accounts.ct_id = ct_update.ct_id
WHERE client_accounts.client_id = ?;
При этом, возможно, лучшим решением для проектирования было бы использование каскадного удаления в ct_trans
и * 1005. * tables:
ALTER TABLE ct_trans ADD FOREIGN KEY (client_id) REFERENCES client_accounts (ct_id)
ON DELETE CASCADE;
ALTER TABLE ct_update ADD FOREIGN KEY (ct_id) REFERENCES client_accounts (ct_id)
ON DELETE CASCADE;
При наличии этих двух ограничений по внешнему ключу удаление родительской записи в таблице client_accounts
вызовет каскадное удаление, которое также удалит все дочерние записи в ct_trans
и ct_update
таблиц, которые связаны с этой родительской записью. Теперь все, что вам нужно, это:
DELETE FROM client_accounts WHERE client_id = ?;