У меня есть две таблицы:
listings(item_id, ...)
images(item_id, ...)
Значение item_id одинаково в обеих таблицах - но я обманываю и удаляю списки из таблицы «списков», не удаляя также соответствующую строку в таблице «изображений».
Итак - я хочу удалить все строки во второй таблице 'images', если item_id в ИЗОБРАЖЕНИЯХ не соответствует ни одному из более актуальных значений item_id в моей основной таблице 'lists'.
Как удалить все записи в таблице изображений, на которые нет ссылок из списков? 1008 *
Я экспериментировал со сценарием SQL и подзапросом, подобным этому:
DELETE FROM images WHERE item_id IN
(SELECT item_id FROM images EXCEPT SELECT item_id FROM listings)
Но прежде чем я все испорчу, хотите убедиться, что это правильно?