2010-10-02 5 views
-2

Скажем, у меня есть сущность A в одной таблице и произвольное количество других объектов B, связанных с ней в другой таблице.MySQL удаляет и обновляет несколько строк

У меня возникла ситуация, когда мне нужно заменить все эти B-объекты на список новых объектов B таким образом, чтобы дубликатов не было.

Простым способом было бы сначала выполнить запрос DELETE, чтобы удалить все старые, а затем запрос INSERT для новых, но мне интересно, есть ли способ сделать это в одном запросе?

ответ

0

Вы можете использовать REPLACE для замены строк в таблице.

+0

он будет работать только в случае дубликатов, мне также необходимо удалить все старые не дубликаты. REPLACE не повлияет на них. – Anton

+0

Тогда вы должны добавить это в свой вопрос. В вашем вопросе не говорится, что вам нужно удалить все объекты в B, которые не подключены к A, вы сказали, что просто замените их на дубликаты. – greedybuddha