Массовое обновление множества полей, как лучше реализовать?
Представим ситуацию, у меня есть товар и куча опций, опции подвязаны к товару, опции и товары разделены соответственно по таблицам и взаимодействуют по принципу один ко многим, вопрос в следующем, допустим мы хотим обновить какую-то часть опций и добавить новые, в товаре, как лучше обновить и добавить новые данные в опциях?
Из вариантов: удалить все имеющиеся опции по id связи товара, добавить новые, соответственно старые обновятся, новые добавятся, таким вариантом пользуется известная cms opencart, но в этом случае я думаю что она несколько не правильно реализует этот алгоритм, т.к она сначала удаляет данные, потом заново вставляет, новые и старые данные, от этого растет autoincrement и в случае ошибки можно просто напросто затереть данные, а не обновить и добавить, какие ещё варианты можете предложить?
Возможный вариант: в обработчике сверять обновлено ли содержимое опции присланное от клиента, если да, обновляем по отдельности, а новые данные отмечать что их в базе нет и соответственно добавлять