Пытаюсь реализовать массовый UPDATE, но не могу понять как его сделать для нескольких условий. Сейчас данный запрос выполняется в цикле.
UPDATE product_tara_test
SET price = ?, date_import = UNIX_TIMESTAMP(NOW())
WHERE id_product = ? AND id_stockroom = ?
Т.к. на каждую итерацию происходит запрос, время выполнения скрипта существенно торомзит из-за этого.
Пытаюсь реализовать через CASE Собрав динамически запрос, но не могу понять как его сделать по нескольким условиям:
WHERE id_product = ? AND id_stockroom = ?
UPDATE `product_tara_test` SET price = CASE
WHEN id_product = 1 THEN 100
...
END,
date_import = CASE
WHEN id = 1 THEN UNIX_TIMESTAMP(NOW())
....
END,
WHERE id_product in (1,2,3....) AND id_stockroom IN (1, 1, 1....)
UPDATE product_tara_test P
JOIN (
select ? as id_product, ? as id_stockroom, ? as price
union all
select ? as id_product, ? as id_stockroom, ? as price
...
) D
ON P.id_product=D.id_product and P.id_stockroom=D.id_stockroom
SET price=D.price, date_import = UNIX_TIMESTAMP(NOW())
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Есть таблицаТребуется выгружать данные таблицы в формате CSV в определенное время
Всем приветПервый день тут, поэтому буду максимально конкретным
Здравствуйте, я новичок в java, не могли бы вы мне помочь можно ли из этого кода сделать метод и потом вызывать его, а так он очень уж громоздкий,...