У меня есть 2 таблицы: table1 и table1_details (id - PK и table1.id = table1_details.id). Я пишу несколько DELETE sql для удаления соответствующих записей:
delete a, b from table1 a, table1_details b where a.id=9 or b.t1_id =9
Однако он не удалял запись. (таблица1 имеет запись, где id = 9, table1_details не имеет записей, где id = 9)
в чем проблема?
Я написал неверный формат. так должно быть
delete a, b from table1 a left JOIN table1_details b on a.id=b.t1_id where a.id=9
delete table1,table1_details from table1 a join table1_details b on table1.id=table1_details.t1_id where a.id=9
запустите этот запрос, он удалит из обеих таблиц
id
в любой из таблиц, равного 9. Это то, что вы хотите? Вы должны рассмотреть возможность перехода на современный синтаксис соединения.