DANFA

Удаление записей из нескольких связанных таблиц (MySQLi)

Здравствуйте.
Хочу показать вам пример запроса, который удалит записи из нескольких, связанных таблиц. Я делаю это при помощи LEFT JOIN, вот так:
DELETE table1, table2, table3
FROM table1
	LEFT JOIN table2 ON table1.id = table2.id 			
		LEFT JOIN table3 ON table1.id = table3.id		
WHERE id = "' . $id . '"

Тут получается, что необходимо удалить запись из таблицы table1, по какому то id, такой же id имеют ещё записи, в двух таблицах, и они взаимосвязаны с первой таблицей.

У меня как то была задача удалить из нескольких таблиц записи, при чем в одной из связанной таблицы (например table2) надо было удалять запись не тока по id, но ещё по одному параметру, делал я это так:
DELETE table1, table2, table3
FROM table1
	LEFT JOIN table2 ON table1.id = table2.id
        AND "' . subject . '" = table2.subject	
		LEFT JOIN table3 ON table1.id = table3.id		
WHERE id = "' . $id . '"

То есть я к таблице table2 добавил AND и запрос теперь ищет и удаляет запись в этой таблице по id и subject.

Спасибо за внимание.