MySQL INSERT [] SELECT со смешанными данными (из предложения SELECT и значений, вставленных вручную)?

Я пытаюсь изменить таблицу из OpenCart, решения электронной корзины на основе PHP. В настоящее время у меня есть таблица oc_product_to_store, заполненная более чем 1300 продуктов, которые мы предлагаем. Мы создали второй магазин, и я хочу обновить эту таблицу для каждого product_id, чтобы вторая строка указывала на второй магазин (поэтому на практике я хочу вставить 1). strong> в поле store_id для каждой новой строки, сохраняя при этом значение product_id).

Мой вопрос: это выполнимо в одном запросе? Что-то вроде INSERT [...] SELECT, где я получаю поле product_id через запрос и одновременно указываю store_id "вручную" ?

Или, может быть, мне следует вместо этого попробовать LOOP?

Я немного чешу голову, но я нахожу это немного трудным. Любой намек?


person Julio María Meca Hansen    schedule 11.10.2012    source источник
comment
Неважно, я нашел это в [здесь] [1]. В любом случае, спасибо :) [1]: stackoverflow.com/questions/6091707/   -  person Julio María Meca Hansen    schedule 11.10.2012


Ответы (1)


Так ты имеешь в виду?

 INSERT oc_product_to_store (productid, storeid)
 SELECT productid, 2
 FROM oc_product_to_store 
 WHERE storedid=1

(где 1 — ваш существующий магазин, а 2 — ваш новый магазин)

person podiluska    schedule 11.10.2012
comment
Спасибо, я нашел еще более простое решение (поскольку все товары принадлежали только первому магазину, INSERT INTO oc_product_to_store (product_id,store_id) SELECT product_id, 1 FROM oc_product_to_store; творил чудеса) :) - person Julio María Meca Hansen; 11.10.2012