У меня около 10 таблиц, таких как: города, районы, города и т. Д. В них есть столбец school_id.Удалить из нескольких таблиц, где идентификатор не совпадает
Я хочу удалить school_id из всех таблиц, где нет соответствия в school_id по сравнению со школьной таблицей. Я могу сделать это легко для одной таблицы. Как это:
DELETE FROM cities
WHERE school_id NOT IN (SELECT s.id
FROM schools s)
Для таблицы районов:
DELETE FROM districts
WHERE school_id NOT IN (SELECT s.id
FROM schools s)
Мои вопросы есть способ объединить все эти вопросы в одном?
возможности обновить дизайн схему БД Вы? вы должны установить school_id как внешний ключ и забыть об этом ручном задании, DB, поскольку он сам предотвратит подобные шумовые данные. –
@ DanielAranda - Я не могу установить это как внешний ключ для всех таблиц. Он используется во многих таблицах. – NoviceMe
@NoviceMe не может быть правильным словом для этого, «не хочу» больше нравится – arnoudhgz