Добрый день. Исходные данные. В базе данных три таблицы, две из которых связаны с ключевым полем первой через ID. Есть например модель со стат параметрами хранимыми в первой таблице и набор переменных параметров, хранимых в двух привязанных таблицах. Подскажите как сделать копию модели, чтобы все параметры(*за исключением ключевого ID) остались неизменными, и появились в двух связных таблицах с привязкой к новому ID
Как пример INSERT INTO model (model_ryad,fabric,cat_id,note,hid) SELECT model_ryad,fabric,cat_id,note,hid FROM model WHERE id = 21; Я скопировал запись с ID = 21 Появлась точная(части описанных полей) копия данной записи, но с новым ИД (например = 100) Все это в первой таблице. Но по этому ID цепляются ещё таблицы... Например таблица два Model_ID(связка с первой таблицей), Model_parametr, Model_Value Есть ещё таблица три, таким же образом через ID связана с первой таблицей. Так вот в них так же есть по несколько полей с ID = 21 (к примеру) Необходимо чтобы они так же скопировались и в своих ID имели значение = 100(новому ID из первой таблицы)
Не понятно, зачем делать копию модели в той же таблице. Или надо её перенести в другую? Тогда в новой надо создать поле со старым ID и после переноса сделать update model_id в связанных таблицах как update id_model = new_id from ...ну как там таблица называется. Если всё же копию надо делать в той же таблице ситуация значительно упрощается. Сам же говоришь есть связь model.id = ..model_id. Вот и обнови там где model.id > max(model.id) до добавления копии. Вообще-то из вопроса не понятно что именно вызывает затруднения.