Обновление таблицы соединений с новыми значениями

У меня есть таблица «один-ко-многим» (на самом деле приложение действительно использует много-ко-многим, но это не относится к моему вопросу). Предположим, что два столбца со следующими значениями:

c1 c2 2 3 4 1 4 3 4 4 6 4 

Для данного значения c1, равного 4, я хотел бы обновить таблицу значениями c2 в массиве [1,2,4,6]. Таким образом, моя таблица будет теперь следующей (обратите внимание, что записи 4,2 и 4,6 были добавлены, запись 4,3 больше не присутствует, а записи 4,1 и 4,4 остаются без изменений):

 c1 c2 2 3 4 1 4 2 4 4 4 6 6 4 

Каков наилучший способ сделать это? Я «мог» сначала запросить базу данных, чтобы выбрать существующие значения для c1 = 4, а затем использовать array_intersect() для идентификации добавленных и удаленных записей и вставить / удалить по мере необходимости, однако это кажется чрезмерным.