Есть проблема. У меня в цикле идет обновление 30к+ строк. И тратится на это 40+ минут. То есть у меня в цикле выполняется такой запрос:
UPDATE product
SET price = $product['price'],
price_retail = $product['price_retail']
WHERE upc = $product['supplier'] AND sku = $product['uniqCode']
И так происходит 30 тыс раз. Как можно это сделать в один запрос? Я видел примеры с Update ... case.. when... но так и не смог понять, как это применить в моем случае.
Изначально данные приходят в разных форматах. Я скачиваю файлы от разных поставщиков и привожу их в единый формат(xls), с которым я работаю. Вот пример:
Поставщик Уникальный код Оптовая цена Розничная цена Остаток на складе
Apple ABC123 763$ 1171$ 5
В нем 30-70 тыс строк(Для каждого поставщика, а их 8+). В файле есть 2 поля(помимо полей с ценами), по которым я определяю товар в базе данных, это supplier(поставщик) и uniqCode(Уникальный код). Мне нужно именно ОБНОВИТЬ товар, а если его нету в базе, то вставлять не нужно(потому insert with no dublicate не подходит).
$product['supplier']
и $product['uniqCode']
всегда разные. Побольше бы информации.Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть таблица Area у не есть множество EventВ mysql это выглядит как 2 таблицы: Area -> Event, 1 -> много
Перевел из аксеса в эксель, потом экспортировал в тхтЗатем поменял расширение на dat при чтении слетает кодировка