Архив Октябрь 23rd, 2008

MySQL. Удаление записей с несуществующей ссылкой

Октябрь 23rd, 2008 | Категория Без рубрики

Предположим у нас есть 2 таблички - ПАПКИ (folders) и ФАЙЛЫ (files). У файлов есть ссылка на айдишку папки, в которой они распологаются. Предположим, что по неосторожности мы удалили несколько ненужных нам папок, но забыли удалить файлы, которые лежали в этих папках. Итак, для того, что бы удалить файлы, у которых ссылка на несуществующую папку, выполняем запрос:

delete from files
where
folder_id not in (select folder_id from folders) and folder_id <> -1

В этом примере так же учтена корневая папка (-1).

6 комментариев