Как переписать sql зарос insert на update?

Есть дамп.
Формат вот такой..
INSERT INTO `product_images` (`product_id`, `image`) VALUES
(103, 'shops/1/products/95fd9653b27e9d745ed42c3f553be3c53d2c22d3.png'),
(104, 'shops/1/products/7c195d10be6dc71be339d151225573cf251103f1.png'),
(105, 'shops/1/products/a5c854d236f4b9478dd37a3619b02f060264da80.png'),
(106, 'shops/1/products/2712489054f2704f47cef92722b256846af01602.png'),
(107, 'shops/1/products/5090d07f7377e67b737095868a223807bf425069.png'),
(108, 'shops/1/products/36c4d68cf3a6d2244db4f99429e5ef1d3e7efbf4.png'),
(109, 'shops/1/products/ef6a83b637a57636cae2558fcfa640213b9f7d56.png'),
(110, 'shops/1/p.... и т.д около 2 000 столбцов


Как изменить этот запрос на обновление столбца image, где product_id = первому параметру (103, 104,105) ?
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
romy4
@romy4
Exception handler
вставьте в product_images_tmp, а потом update product_images inner join product_images_tmp

ps кстати в вашем запросе несоответствие количества столбцов
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Ivanq
@Ivanq
Знаю php, js, html, css
UPDATE `product_images` SET image = 'shops/1/products/95fd9653b27e9d745ed42c3f553be3c53d2c22d3.png' WHERE product_id = 103
UPDATE `product_images` SET image = 'shops/1/products/95fd9653b27e9d745ed42c3f553be3fd34fd343.png' WHERE product_id = 104
UPDATE `product_images` SET image = 'shops/1/products/95fd9653b27e9d745ed42c3f553b434dfd3rd3e4d3.png' WHERE product_id = 105

и т д
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если product_id - UNIQUE или PRIMARY KEY, то добавьте в конец запроса
ON DUPLICATE KEY UPDATE `image` = VALUE(`image`)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы