У меня есть модель базы данных, как это,
Одна материнская таблица, назовем ее table_mother, а несколько дочерних таблиц.
Связь между table_mother и childs такая:
Все дочерние таблицы имеют вид внешнего ключа в качестве идентификатора материнской таблицы (id_table_mother) (отношение равно 1-> n, поскольку id_table_mother равно uniq, и дочерний элемент tbale может получить несколько записей для id_table_mother)
Я хотел бы удалить все записи в дочерней таблице, которые больше не связаны с материнской таблицей, сейчас я пытаюсь что-то вроде этого
DELETE FROM tb_child_1,tb_child_2,tb_child_3
WHERE
tb_child_1.id_table_mother
AND tb_child_2.id_table_mother
AND tb_child_3.id_table_mother
NOT IN (SELECT id_table_mother FROM tb_table_mother);
Thx
edit: вот так я и закончил
delete from tb_child_1 where id_mother not in (select id_mother from tb_mother_table);
delete from tb_child_2 where id_mother not in (select id_mother from tb_mother_table);
какое-нибудь "глобальное" решение?
Кроме того, моя база данных не innodb, поэтому я не могу использовать иностранные ключи и прочее