#mysql
#mysql
Вопрос:
Мне нужно удалить много строк из таблицы с составным первичным ключом (т.Е. Два поля вместе образуют pk).
Я определяю строки для удаления с помощью запроса. Но я не уверен, как объединить этот запрос с оператором delete. Это то, что я пробовал:
DELETE FROM mytable
WHERE (id1, id2) IN
(SELECT id1, id2
FROM (...a complex subquery to identify the lines I want to delete...) )
Я запустил этот запрос для копии базы данных, но поскольку мы говорим о ~ 100 000 строках, я не знаю, как убедиться, что я удаляю все выбранные строки и ни одну из других строк. Я уверен, что подзапрос дает желаемые результаты, но я не уверен, что синтаксис, который я использовал, удалит эти строки.
Итак, мой вопрос: гарантирует ли WHERE (id1,id2)
условие, что я удаляю те же строки, выбранные в подзапросе?
Спасибо!
Комментарии:
1. Это правильный подход.